
如果只输出了数据集,想让执行语句怎样运用predict语句,或者其他语句可以运行出正确logistic结果

关注引自免费微信小程序:皆我百晓生
在您的代码片段中,您已经进行了一个逻辑回归分析,并且似乎想要从这个模型中获取预测值。为了实现这一点,您可以使用PROC LOGISTIC中的PREDICT选项。在SAS中,这通常涉及以下几个步骤:
首先,确保您的数据集已经准备好了,并且已经完成了逻辑回归分析。根据您提供的代码,看起来您已经在数据集中执行了逻辑回归,模型名为healh_re。
接下来,我们可以使用PROC LOGISTIC的PREDICT子句来计算新的观测值的预测概率。以下是完整的代码示例:
/* 假设我们有一个新数据集new_data包含与训练数据相同的变量 */
data new_data;
input gen婚姻 edu income time years range age;
cards;
1 1 1 5000 3 1 45
2 2 2 7000 5 2 55
; /* 添加更多观测值,如果有 */
proc logistic data=exe4_2 descending;
model healh_re = gen marriage edu income time years range age / selection=stepwise sle=0.10 sls=0.10;
output out=predicted_values pred=prob_health_re;
run;
proc print data=new_data (obs=0);
run;
proc print data=predicted_values;
var prob_health_re;
run;
在这个例子中,我们创建了一个新数据集new_data,其中包含了两个观测值。然后,我们在PROC LOGISTIC中添加了OUTPUT OUT=子句,指定了一个新的输出数据集predicted_values,其中会存储预测的概率。预测变量被命名为prob_health_re。最后,我们分别打印原始的新数据集和预测值数据集。
注意,descending关键字用于按预测概率降序排列结果。如果您不关心排序顺序,可以去掉这一行。
如果你已经有新的观测值并且它们在同一个数据集中,那么你不需要创建新的数据集new_data,只需将input语句替换为你的观测值,并保留其他部分不变。记得要按照正确的变量顺序输入观测值。