【发布时间】:2015-06-07 16:04:28
【问题描述】:
标准的cov函数计算样本协方差矩阵,我想要总体协方差矩阵。
我尝试了以下方法:
cov.pop <- function(x,y=NULL) {
cov(x,y)*(length(x)-1)/length(x)
}
> sapply(list(Apple,HP,Microsoft),cov.pop,y=Apple) #correct
[1] 0.7861672 0.1363396 0.2223303
> sapply(list(Apple,HP,Microsoft),cov.pop,y=HP) #correct
[1] 0.13633964 0.09560376 0.05226032
> sapply(list(Apple,HP,Microsoft),cov.pop,y=Microsoft) #correct
[1] 0.22233028 0.05226032 0.13519964
> cov.pop(cbind(Apple,HP,Microsoft)) #not correct
Apple HP Microsoft
Apple 0.8444018 0.14643887 0.23879919
HP 0.1464389 0.10268552 0.05613145
Microsoft 0.2387992 0.05613145 0.14521443
我的问题
有没有一种简单的方法可以修改cov.pop 函数以获得正确的总体协方差矩阵?
【问题讨论】:
标签: r covariance