【问题标题】:SAS: Unable to run logistic regressionSAS:无法运行逻辑回归
【发布时间】:2016-12-15 18:53:21
【问题描述】:

过去几个小时,我尝试在 SAS 中运行逻辑回归模型。但没有运气。有语法错误吗?代码如下:

options pageno=1 nodate; run;

data SEATBELT;
   input Belt $ Ejected $ Fatal $ Nonfatal $ Total;
   datalines;
Yes Yes 1105   14   1119
Yes No  411111 483  411594
No  Yes 4624   497  5121
No  No  157342 1008 158350
;

proc logistic data=SEATBELT;
    class Belt Ejected Fatal Nonfatal Total;
    model Fatal/Total= Belt Ejected / selection = b sls=0.05;
run;

这是我得到的错误。

 66         
 67         proc logistic data=SEATBELT;
 68         class Belt Ejected Fatal Nonfatal Total;
 69         model Fatal/Total= Belt Ejected / selection = b sls=0.05;
 70         run;

 NOTE: The SAS System stopped processing this step because of errors.
 NOTE: The PROCEDURE LOGISTIC printed page 1.
 NOTE: PROCEDURE LOGISTIC used (Total process time):
       real time           0.00 seconds
       cpu time            0.00 seconds

我们将不胜感激任何帮助。

谢谢

【问题讨论】:

    标签: sas logistic-regression


    【解决方案1】:

    PROC 需要数字变量,您已将部分数据作为字符读取。删除 FATAL 和 NONFATAL 之后的 $,以便将它们作为数字读入。

    CLASS 语句用于分类数据,因此请从此处删除变量,EJECTED 除外。

    我还建议添加 PARAM=Ref 选项,以便它使用参考编码。

    data SEATBELT;
       input Belt $ Ejected $ Fatal  Nonfatal Total;
       datalines;
    Yes Yes 1105   14   1119
    Yes No  411111 483  411594
    No  Yes 4624   497  5121
    No  No  157342 1008 158350
    ;
    
    proc logistic data=SEATBELT;
        class Belt Ejected/Param=REF;
        model Fatal/Total= Belt Ejected / selection = b sls=0.05;
    run;
    

    【讨论】:

      猜你喜欢
      • 2017-08-13
      • 1970-01-01
      • 2017-12-02
      • 1970-01-01
      • 1970-01-01
      • 2016-04-12
      • 2011-03-27
      • 1970-01-01
      • 2020-01-31
      相关资源
      最近更新 更多