R语言生成符合指定分布特性的随机数:使用 runif() 函数生成均匀分布的随机数、得到 3 个范围在 0 到 100 的随机数向量
目录
R语言生成符合指定分布特性的随机数:使用 runif() 函数生成均匀分布的随机数、得到 3 个范围在 0 到 100 的随机数向量
问题
要生成随机数。
方案
要生成均匀分布的随机数,可以使用 runif()
函数,它的默认范围是从 0 到 1。
runif(1)
#> [1] 0.246
# 得到 4 个数字的向量
runif(4)
#> [1] 0.1342 0.8996 0.6340 0.4691
# 得到 3 个范围在 0 到 100 的随机数向量
runif(3, min = 0, max = 100)
#> [1] 54.36 21.23 57.91
# 得到 3 个范围在 0 到 100 的整数 使用 max=101
# 因为它永远不可能等于 101,这里利用 floor
# 函数实现向下取整数
floor(runif(3, min = 0, max = 101))
#> [1] 46 22 28
# 以下方式得到的结果一样
sample(1:100, 3, replace = TRUE)
#> [1] 43 73 6
# 生成无重复的随机整数
sample(1:100, 3, replace = FALSE)
#> [1] 97 85 19
要生成服从正态分布的数字,使用 rnorm()
函数,该函数默认均值是 0,标准差是 1。
rnorm(4)
#> [1] -0.49078 -0.01156 1.64095 -0.45335
# 使用不同的均值和标准差
rnorm(4, mean = 50, sd = 10)
#> [1] 47.12 44.02 40.43 50.66
# 通过直方图检查分布是否正确
x <- rnorm(400, mean = 50, sd = 10)
hist(x)
安利一个R语言的优秀博主及其CSDN专栏:
博主博客地址:
Data+Science+Insight的博客_CSDN博客-R语言从入门到机器学习,数据科学从0到1,机器学习面试+横扫千军领域博主