当我尝试计算加权方差时,我从 R 和 SAS 得到不同的结果。有谁知道可能导致这种差异的原因是什么?
我创建权重和值的向量,然后使用 Hmisc 库 wtd.var 函数计算加权方差:
library(Hmisc)
wt <- c(5, 5, 4, 1)
x <- c(3.7,3.3,3.5,2.8)
wtd.var(x,weights=wt)
我得到的答案是:
[1] 0.0612381
但如果我尝试在 SAS 中重现这些结果,我会得到完全不同的结果:
data test;
input wt x;
cards;
5 3.7
5 3.3
4 3.5
1 2.8
;
run;
proc means data=test var;
var x;
weight wt;
run;
结果为
0.2857778