R中的方差运算误差

时间:2014-03-16 04:35:46

标签: r

我试图在R

中操作这个简单的问题
> ex <- c(1,2,3,4,5,6,7)
> mean(ex)
[1] 4
> var(ex)
[1] 4.666667
> sd(ex)
[1] 2.160247

但这是一个简单的问题 这是正确答案。

var(ex) = 4
sd(ex) = 2

这种情况有什么问题?

1 个答案:

答案 0 :(得分:1)

如前所述,R返回样本方差。据我所知,没有内置函数来获取总体方差,但您可以轻松地将结果乘以(n-1)/n

 var.pop=function(x, y = NULL, na.rm = FALSE, use){
   n <- ifelse(is.null(dim(x)),length(x),dim(x)[1])
   return(var(x,y,na.rm,use)*(n-1)/n)
 }

此功能还将计算人口协方差。您还可以定义sd函数的类似版本,或者只调用sqrt(var.pop(ex))