(添加了可重复的示例。)
我对rnorm函数有点困惑。
我希望mean(rnorm(100,mean=0,sd=1))
为0;和sd(rnorm(100,mean=0,sd=1))
是1.但是给出了不同的结果。我哪里错了?
可重复示例:
mean(rnorm(100,mean=0,sd=1))
# [1] 0.07872548
sd(rnorm(100,mean=0,sd=1))
# [1] 1.079348
非常感谢任何帮助。
答案 0 :(得分:10)
rnorm(100)
为您提供了来自分布均值= 0和sd = 1的100个值的随机样本。因为它是随机的,mean(rnorm(100))
的实际值取决于您获得的特定值。无法保证均值为0,但从统计上来说,当您使用较大的样本量时,它应收敛为0。例如,尝试mean(rnorm(10000))
;它可能会比以前更接近0。
编辑:如果您想强制样本具有特定的均值和标准偏差,请查看以下问题:“Generate random numbers with fixed mean and sd”。
答案 1 :(得分:0)
这是由于噪音。我建议尝试使用较大的集合来接近目标,或者更改种子以查看各种结果。
答案 2 :(得分:0)
rnorm
会产生随机偏差。
set.seed(4)
x <- rnorm(5, mean=0, sd=1)
x
# [1] 0.2167549 -0.5424926 0.8911446 0.5959806 1.6356180
mean(c(0.2167549, -0.5424926, 0.8911446, 0.5959806, 1.6356180))
# [1] 0.5594011