一:rnorm()和runif()的区别


您可以使用rnorm()runif()函数在 R 中生成随机值。

这是两个函数之间的区别:

rnorm(n,mean,sd)函数用于从具有特定均值和标准差的正态分布生成n个随机值。

runif(n, min, max)函数用于从具有特定最小值和最大值的均匀分布生成 n 个随机值。

以下示例展示了如何在实践中使用每个功能。

示例 1:如何在 R 中使用 rnorm()

以下代码展示了如何使用rnorm()函数从均值为 10、标准差为 2 的正态分布生成 100 个随机值:

 #make this example reproducible
set. seed ( 0 )

#create vector of 100 random values from normal distribution
random_values <- rnorm(n= 100 , mean= 10 , sd= 2 )

#view first six values
head(random_values)

[1] 12.525909 9.347533 12.659599 12.544859 10.829283 6.920100

我们还可以使用hist()函数创建直方图来可视化我们刚刚生成的随机值的分布:

 #create histogram to visualize distribution of values
hist(random_values) 

结果是一个直方图,显示正态分布的 100 个值的分布情况。

请注意,直方图呈钟形,平均值约为 10,这是我们为分布平均值指定的精确值。

示例 2:如何在 R 中使用 runif()

下面的代码展示了如何使用runif()函数从均匀分布中生成 100 个随机值,最小值为 5,最大值为 25:

 #make this example reproducible
set. seed ( 0 )

#create vector of 100 random values from uniform distribution
random_values <- runif(n= 100 , min= 5 , max= 25 )

#view first six values
head(random_values)

[1] 22.933944 10.310173 12.442478 16.457067 23.164156 9.033639

我们还可以使用hist()函数创建直方图来可视化我们刚刚生成的随机值的分布:

 #create histogram to visualize distribution of values
hist(random_values) 

结果是一个直方图,显示了均匀分布的 100 个值的分布情况。

请注意,直方图的范围从 5 到 25,它们代表我们在runif()函数中指定的最小值和最大值。

其他资源

以下教程解释了如何在 R 中执行其他常见任务:

如何在 R 中绘制均匀分布
如何在 R 中绘制正态分布
如何在R中选择随机样本

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注