如何在 r 中使用 runif 函数(4 个示例)


您可以使用runif()函数从 R 中的均匀分布生成随机值。

该函数使用以下语法:

 runif(n, min= 0 , max= 1 )

金子:

  • n :生成的随机值的数量
  • min :分布的最小值(默认为0)
  • max :分布的最大值(默认为1)

以下示例展示了如何在不同场景下使用runif()函数。

示例 1:使用 runif() 生成随机值

下面的代码展示了如何使用runif()函数从 50 到 100 之间均匀分布生成 10 个随机值:

 #make this example reproducible
set. seeds (5)

#generate 10 random values from uniform distribution
runif(n= 10 , min= 50 , max= 100 )

[1] 60.01072 84.26093 95.84379 64.21997 55.23251 85.05287 76.39800 90.39676
[9] 97.82501 55.52265

请注意,生成的 10 个随机值每个都在 50 到 100 之间。

示例2:使用runif()生成四舍五入到小数位的随机值

下面的代码展示了如何使用round()函数和runif()函数来生成10个范围从50到100的均匀分布的随机值,其中每个值都四舍五入到小数点后一位:

 #make this example reproducible
set. seeds (5)

#generate 10 random values from uniform distribution rounded to one decimal place
round(runif(n= 10 , min= 50 , max= 100 ), 1)

[1] 63.7 74.5 65.9 78.0 63.1 60.1 69.4 94.4 77.7 92.1

请注意,生成的 10 个随机值中的每一个都在 50 到 100 之间,并且四舍五入到小数点后一位。

示例3:使用runif()生成舍入为整数的随机值

下面的代码展示了如何使用round()函数和runif()函数来生成 50 到 100 之间均匀分布的 10 个随机值,其中每个值都四舍五入为整数:

 #make this example reproducible
set. seeds (5)

#generate 10 random values from uniform distribution rounded to whole number
round(runif(n= 10 , min= 50 , max= 100 ), 0)

[1] 64 75 66 78 63 60 69 94 78 92

请注意,生成的 10 个随机值中的每一个都在 50 到 100 之间,并且四舍五入为整数。

示例 4:使用 runif() 创建均匀分布直方图

以下代码演示了如何使用runif()函数从 50 到 100 的均匀分布生成 1,000 个随机值,然后使用hist()函数创建一个直方图来可视化该值的分布。

 #make this example reproducible
set. seeds (5)

#generate 1,000 random values from uniform distribution
values <- runif(n= 1000 , min= 50 , max= 100 )

#generate histogram to visualize these values
hist(values) 

R中的runive直方图

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

其他资源

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

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

添加评论

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