在我的 SAS 线性回归模型中添加条件

add condition in my linear regression model in SAS

我是SAS的初学者。我目前正在做一个线性模型,但我坚持拟合模型。最初,我需要先将数据分成两部分。

这是我将数据分成两部分的代码,T 是解释性数据,然后 C 是响应。

data mydata;
set rawdata;
if T < 10 then Cbelow = C;
else Cabove= C;
run;

然后我在做模型,因为我想在T <10和T> = 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

正如乔所说,您应该查看文档。就是说,我会读懂字里行间的意思并在这里帮助您。

如果您正在寻找 2 个单独的回归、无合并或混合效应等,则添加分类变量并使用 PROC REG 中的 BY 语句。

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;