7
Chức năng chuẩn cov
tính ma trận hiệp phương sai mẫu, tôi muốn có ma trận hiệp phương sai dân số.Cách xác định lại cov để tính toán ma trận hiệp phương sai dân số
tôi thử như sau:
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
Câu hỏi của tôi
Có một cách đơn giản để thay đổi cov.pop
chức năng để có được ma trận hiệp phương sai dân có đúng không?
+1 và Tôi nghĩ về một cái gì đó dọc theo những dòng đó, nhưng 'NROW (x)' thực sự là thủ thuật :-) – vonjd
@vonjd Vui mừng khi biết rằng nó hoạt động. Cảm ơn vì bạn đã phản hồi – akrun