R 中的标准差似乎返回了错误的答案 - 我做错了什么吗?

发布于 2024-11-17 06:29:48 字数 247 浏览 8 评论 0原文

计算标准 dev 的一个简单示例:

d <- c(2,4,4,4,5,5,7,9)
sd(d)

产量

[1] 2.13809

,但是当手动完成时,答案是 2。什么我在这里失踪了吗?

A simple example of calculating standard dev:

d <- c(2,4,4,4,5,5,7,9)
sd(d)

yields

[1] 2.13809

but when done by hand, the answer is 2. What am I missing here?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

洛阳烟雨空心柳 2024-11-24 06:29:48

尝试一下

R> sd(c(2,4,4,4,5,5,7,9)) * sqrt(7/8)
[1] 2
R> 

,并查看维基百科文章的其余部分,了解有关标准差估计的讨论。使用“手动”使用的公式会导致估计有偏差,因此需要校正 sqrt((N-1)/N)。这是一个关键引用:

术语标准差
样本用于未校正的
估计量(使用 N),而术语
样本标准差用于
修正后的估计量(使用 N − 1)。
分母 N − 1 是
向量的自由度
残差,.

Try this

R> sd(c(2,4,4,4,5,5,7,9)) * sqrt(7/8)
[1] 2
R> 

and see the rest of the Wikipedia article for the discussion about estimation of standard deviations. Using the formula employed 'by hand' leads to a biased estimate, hence the correction of sqrt((N-1)/N). Here is a key quote:

The term standard deviation of the
sample is used for the uncorrected
estimator (using N) while the term
sample standard deviation is used for
the corrected estimator (using N − 1).
The denominator N − 1 is the number of
degrees of freedom in the vector of
residuals, .

感情洁癖 2024-11-24 06:29:48

看起来 R 假设分母是 (n-1),而不是 n。

Looks like R is assuming (n-1) in the denominator, not n.

始终不够 2024-11-24 06:29:48

当我想要总体方差或标准差(n 作为分母)时,我定义这两个向量化函数。

  pop.var <- function(x) var(x) * (length(x)-1) / length(x)

  pop.sd <- function(x) sqrt(pop.var(x))

顺便说一句,可汗学院对总体样本标准差进行了很好的讨论此处

When I want the population variance or standard deviation (n as denominator), I define these two vectorized functions.

  pop.var <- function(x) var(x) * (length(x)-1) / length(x)

  pop.sd <- function(x) sqrt(pop.var(x))

BTW, Khan Academy has a good discussion of population and sample standard deviation here.

失去的东西太少 2024-11-24 06:29:48

请注意,在 R Studio 中运行该命令

?sd 

会显示该函数的帮助页面。在详细信息部分它指出

与 var 一样,它使用分母 n - 1。

Note that running the command

?sd 

in R Studio displays the help page for the function. In the details section it states

Like var this uses denominator n - 1.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文