python计算方差函数_R语言 计算样本方差的方法(不用var函数)

如题,R语言中如何计算样本方差(不用Var函数)?

  • 方法一:(不推荐,因为我用SAS用的多,编程习惯很多都是SAS上的习惯,R里面有更简单的方式。比如下面的for循环获取每个值就很SAS)
test<-rnorm(100)
#循环计算的两种方法
a<-0
b<-0
c<-0
for (i in 1:length(test)) {
  a=a+test[i]^2
  b=b+test[i]
  c=c+(test[i]-mean(test))^2
}
#第一种
(a-b^2/length(test))/(length(test)-1)
#第二种
c/(length(test)-1)

这里其实就是通过for循环获取向量中每个值进行计算。这里面的第一种计算公式是:

python计算方差函数_R语言 计算样本方差的方法(不用var函数)_第1张图片

第二种计算公式是:

fcae6343a57df3756ade681e5d8a7518.png
  • 方法二:
#不用循环的两种方法
(sum(test^2)-sum(test)^2/length(test))/(length(test)-1)
sum((test-mean(test))^2)/(length(test)-1)

也分别对应上面的计算公式一、二。

  • 方法三:
#矩阵计算
test<-as.matrix(test)
variance<-1/(length(test)-1)*t(test-mean(test))%*%(test-mean(test))

你可能感兴趣的:(python计算方差函数)