首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何计算R中的标准差

如何计算R中的标准差
EN

Stack Overflow用户
提问于 2014-02-01 16:00:36
回答 1查看 24.3K关注 0票数 1

我想通过R计算40个数据点的标准差。我无法做到这一点...

我试过了:

代码语言:javascript
运行
复制
> sd{1, 2, 3}
Error: unexpected '{' in "sd{"
> sd(1, 2, 3)
Error in sd(1, 2, 3) : unused argument (3)

并且还尝试了:

代码语言:javascript
运行
复制
> x <- c(1, 2, 3)
> sd(x)
[1] 1

它给出了输出' 1‘,但我认为1,2和3的标准差不是1。

我在这里做错了什么?请原谅,我是个初学者

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-01 16:08:22

您必须在sd中使用c

代码语言:javascript
运行
复制
sd(c(1, 2, 3))
# [1] 1

它返回1。这是样本的标准差,是总体标准差的估计值,基于n - 1的分母。这是Rs sd函数的默认行为。

如果要计算population (分母n)的标准差,可以使用:

代码语言:javascript
运行
复制
x <- c(1, 2, 3)

sqrt(mean(x ^ 2) - mean(x)^2)
# [1] 0.8164966

如果您知道样本标准偏差和向量的长度(即元素的数量),则可以使用此方法来计算总体标准偏差:

代码语言:javascript
运行
复制
n <- length(x)  # number of values
std <- sd(x)    # sample standard deviation

sqrt((std ^ 2) * ((n - 1) / n))
# [1] 0.8164966
票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21495649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档