我是SAS的初学者。我目前正在做一个线性模型,但我坚持拟合模型。最初,我需要先将数据分成两部分。
这是我将数据分成两部分的代码,T是解释数据,然后C是响应。
data mydata;
set rawdata;
if T < 10 then Cbelow = C;
else Cabove= C;
run;
然后我正在做模型,因为我想在T&lt; 10和T&gt; = 10时检查线性回归。然后我使用了我刚才分割的数据。然后我的代码如下:
proc reg data= mydata;
if T<10 then model Cbelow=T;
else model Cabove=T
run;
运行上面的代码时出错了。我无法弄清楚为什么。任何人都可以帮我解决问题吗?任何帮助都会非常有吸引力。 非常感谢提前!
这是错误:
proc reg data= mydata;
157
158 if T<10 then model Cbelow=T;
--
180
NOTE: The previous statement has been deleted.
ERROR 180-322: Statement is not valid or it is used out of proper order.
159
160 else model Cabove=T
----
180
ERROR 180-322: Statement is not valid or it is used out of proper order.
161
162 run;
NOTE: The previous statement has been deleted
答案 0 :(得分:1)
正如乔所说,你应该查看文档。也就是说,我会在各行之间阅读并帮助你。
如果您要查找2个单独的回归,没有合并或混合效果等,请添加分类变量并使用BY
中的PROC REG
语句。
data mydata;
set rawdata;
if T < 10 then High_Low ="LOW";
else High_Low = "High";
run;
proc sort data=mydata;
by high_low;
run;
proc reg data=mydata;
by high_low;
model C=T;
run;
quit;