2016-12-15 184 views
0

我试图在SAS中运行逻辑回归模型最近几个小时。但没有运气。有没有语法错误?这里是代码: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 

任何帮助将不胜感激。

感谢

回答

0

的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; 
+0

非常感谢!这工作! – user356923