当我尝试计算加权方差时,得到R和SAS的不同结果。有谁知道什么可能会导致这种差异?Hmisc wtd.var和SAS proc之间的区别平均生成的加权变化
我创建的重量和价值的载体和我然后使用 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
要求SAS发布其代码。'Hmisc :: wtd.var'随时可用。 –
SAS使得几乎所有的统计计算都可用(不是以代码形式存在于java/C++中,而是以数学形式),包括方差计算(如答案)。问他们的源代码是非常愚蠢的,除非你要问微软的Windows 7的源代码,并期望他们说是的? – Joe