背景:我有一个分类变量 X ,有四个级别,我适合作为单独的虚拟变量。因此,存在三个总虚拟变量,表示x = 1,x = 2,x = 3(x = 0是基线)。
问题/问题:我希望能够计算这些虚拟变量的线性组合(即使用SAS作为计算器)的值。例如,2 * B1 + 2 * B2 + B3。
在Stata中,可以使用lincom
命令完成此操作,该命令使用存储的β估计值来计算参数的线性组合。
在SAS中PROC GLM这样的程序,我想我应该使用ESTIMATE
语句,但我不确定在这种情况下如何为每个变量指定“权重”。
答案 0 :(得分:2)
您正在寻找PROC SCORE。这需要输出回归或因子估计并对新数据集进行评分。请看这里的例子。 http://support.sas.com/documentation/cdl/en/statug/66859/HTML/default/viewer.htm#statug_score_examples02.htm
答案 1 :(得分:2)
仅供参考,PROC MODEL
确实在模型语句中允许这样做,这可能比PROC SCORE
更少工作。我知道PROC MODEL
可以代替PROC REG
轻松使用,但我不确定建模PROC MODEL
有多先进,所以它可能不适合更复杂的模型。我希望有一些编码较少的东西,但考虑到SAS的本质,我认为这和PROC SCORE
是我将得到的最好的。
答案 2 :(得分:0)
如果在输入数据集中将线性组合添加为变量,该怎么办?
data myDatasetWithLinCom;
set mydata;
LinComb=2*(x=1)+ 2*(x=2)+(x=3); /*equvilent to 2*B1 + 2*B2 + B3*/
run;
然后你可以指定LinComb作为解释变量之一,你可以直接从输出中查找系数。