📅  最后修改于: 2023-12-03 15:19:54.063000             🧑  作者: Mango
在统计学中,连续均匀分布是指在给定的区间内,各个数值出现的概率是相等的。在R中,我们可以使用runif()
函数来生成连续均匀分布的随机数。
runif(n, min, max)
参数说明:
n
:随机数的数量min
:随机数的下界max
:随机数的上界# 生成10个(0,1)之间的随机数
runif(10)
# 生成5个(10,50)之间的随机数
runif(5, 10, 50)
生成结果如下:
# 生成10个(0,1)之间的随机数
[1] 0.6335919 0.3246425 0.4494575 0.7812005 0.6053615 0.9060395 0.8653719 0.0943281 0.2471938 0.8213160
# 生成5个(10,50)之间的随机数
[1] 24.11750 45.09215 23.77896 13.81423 38.66627
除了生成随机数,连续均匀分布在模拟数据时也很常用。比如说我们需要模拟100次抛硬币的结果,我们可以使用二项分布的概率函数,也可以使用连续均匀分布来模拟。
# 模拟100次抛硬币的结果
set.seed(123)
samples <- runif(100, 0, 1)
num_heads <- length(which(samples <= 0.5))
num_tails <- length(which(samples > 0.5))
cat("正面朝上的次数:", num_heads, "\n")
cat("反面朝上的次数:", num_tails, "\n")
上述代码中,我们使用了set.seed()
函数来设置随机数生成器的种子,保证每次生成的结果一致。然后我们使用runif()
函数生成100个(0,1)之间的随机数,将小于等于0.5的当作正面朝上的结果,大于0.5的当作反面朝上的结果,最后统计正面朝上和反面朝上的次数。
通过本文的介绍,我们了解了在R中使用runif()
函数生成连续均匀分布的随机数,以及如何使用连续均匀分布来模拟数据。