均值(rnorm(100,mean=0,sd=1)) 不为 0; sd(rnorm(100,mean=0,sd=1)) 不是 1。为什么?
mean(rnorm(100,mean=0,sd=1)) is not 0; and sd(rnorm(100,mean=0,sd=1)) is not 1. Why?
(添加了可重现的示例。)
我对 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
非常感谢任何帮助。
这是噪音造成的。我建议尝试使用更大的集合来接近目标,或者更改种子以查看不同的结果。
rnorm(100)
从分布均值 = 0 和 sd = 1 中为您提供 100 个值的随机样本。因为它是随机的,所以 mean(rnorm(100))
的实际值取决于您得到的特定值.不能保证均值为 0,但从统计学上讲,当您使用更大的样本量时,它应该会收敛到 0。例如,尝试 mean(rnorm(10000))
;它可能会比以前更接近 0。
编辑:如果您想强制样本具有特定的均值和标准差,请查看此问题:“Generate random numbers with fixed mean and sd”。
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
(添加了可重现的示例。)
我对 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
非常感谢任何帮助。
这是噪音造成的。我建议尝试使用更大的集合来接近目标,或者更改种子以查看不同的结果。
rnorm(100)
从分布均值 = 0 和 sd = 1 中为您提供 100 个值的随机样本。因为它是随机的,所以 mean(rnorm(100))
的实际值取决于您得到的特定值.不能保证均值为 0,但从统计学上讲,当您使用更大的样本量时,它应该会收敛到 0。例如,尝试 mean(rnorm(10000))
;它可能会比以前更接近 0。
编辑:如果您想强制样本具有特定的均值和标准差,请查看此问题:“Generate random numbers with fixed mean and sd”。
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