添加组合变量时,SAS企业指南DF为0和B

时间:2019-05-24 14:30:41

标签: sas regression

我正试图弄清不同年龄和性别之间的成本相关性。因此,最终结果应表明,随着年龄的增长,成本也会增加。创建虚拟变量后,我在SAS中使用了以下代码:

Request.Params

上面的代码工作正常。我的下一步是消除噪音。例如,城镇东侧的人们倾向于花费更多,而我不希望这一点反映在曲线上。因此,我在代码中添加了新变量:

proc reg data= data1; model logDollar= M0 M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 M12 M13 M14 M15 M16 M17 M18 M19 M20 M21 M22 M24 
M25 M26 M27 M28 M29 M30 M31 M32 M33 M34 M35 M36 M37 M38 M39 M40 M41 M42 M43 M44 M45 M46 M47 M48 M49 M50 M51 
M52 M53 M54 M55 M56 M57 M58 M59 M60 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 
F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31 F32 F33 F34 F35 F36 F37 F38 F39 F40 
F41 F42 F43 F44 F45 F46 F47 F48 F49 F50 F51 F52 F53 F54 F55 F56 F57 F58 F59 F60

  ;
weight membership;
run; 

现在,我的模型为这些新变量显示DF = 0。有谁知道如何解决这一问题? 以下是结果的一部分: enter image description here

1 个答案:

答案 0 :(得分:0)

您确实不应该为每个年龄段都设置一个虚拟变量。相反,将年龄视为连续变量。此外,如何计算HealthyWestUnhealthyWest?他们是完全相反的吗?如果是这样,您将不会获得任何估计。

您的模型应该是:

proc glm data=have;
class sex healthyEast healthyNorth healthyWest;
model logDollar= sex age sex*age
HealthyEast
HealthyNorth
HealthyWest
;
weight membership;
run; 

性别将是M / F,年龄将是一个数字字段,而HealthEast / North / West将是二进制分类数据。