在R中,如何找到平均值的标准误差?

ale*_*lex 78 statistics r

是否有命令在R中找到平均值的标准误差?

Ian*_*ows 144

标准误差只是标准偏差除以样本大小的平方根.所以你可以轻松地创建自己的功能:

> std <- function(x) sd(x)/sqrt(length(x))
> std(c(1,2,3,4))
[1] 0.6454972
Run Code Online (Sandbox Code Playgroud)


Joh*_*ohn 84

使用var可能更有效...因为你实际上在你的代码中sqrt两次,一次得到sd(sd的代码在r中并且通过输入"sd"显示)...

se <- function(x) sqrt(var(x)/length(x))
Run Code Online (Sandbox Code Playgroud)

  • @forecaster Tom并没有说'stderr`计算标准错误,他警告说这个名字用在base中,而John最初命名他的函数`stderr`(检查编辑历史......). (14认同)
  • 注意`stderr`是`base`中的函数名. (6认同)
  • 汤姆,没有`stderr`不会计算出显示方面的标准错误.连接 (5认同)
  • 有趣的是,你的功能和Ian几乎同样快.我对它们进行了1000次测试,而不是10到6百万次抽取(没有足够的力量来推动它们比这更难).相反,plotrix的功能总是比这两个功能的最慢运行速度慢 - 但它还有更多的功能. (4认同)
  • 这是一个非常好的观点.我通常使用se.我已经改变了这个答案来反映这一点. (3认同)

ara*_*ame 57

上面的约翰答案的一个版本删除了讨厌的NA:

stderr <- function(x, na.rm=FALSE) {
  if (na.rm) x <- na.omit(x)
  sqrt(var(x)/length(x))
}
Run Code Online (Sandbox Code Playgroud)

  • 请注意,“base”包中有一个名为“stderr”的现有函数可以执行其他操作,因此最好为此选择另一个名称,例如“se” (2认同)

Mat*_*all 29

有一个plotrix包有一个内置函数:std.error


小智 5

包 sciplot 具有内置函数 se(x)