如何在 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)
结果是一个直方图,显示了均匀分布生成的 1000 个值的分布情况。
其他资源
以下教程解释了如何在 R 中执行其他常见任务: