@sabisw
Thanks for the explanation!
As I was working through the scenario's, another question came up. I think I have the wrong data for Scenario 6. Attached is the proc contents for the heart.xlsx file I have. I will attach the log that generated from my code and the log with the SAS code in the answer section in a separate post since it only lets me attach one at a time. There is no variable AgeAtDeath and the Smoking_Status variable is already created. Please advise. Thanks!
SAS log:
1 OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;
72
73 libname certdata xlsx '/folders/myfolders/Prep Guide Data/base-guide-practice-data/cert/heart.xlsx' ;
NOTE: Libref CERTDATA was successfully assigned as follows:
Engine: XLSX
Physical Name: /folders/myfolders/Prep Guide Data/base-guide-practice-data/cert/heart.xlsx
74 data work.heart ;
75 set certdata.heart (drop=AgeAtDeath DeathCause) ;
ERROR: The variable AgeAtDeath in the DROP, KEEP, or RENAME list has never been referenced.
76 where Status='Alive' ;
77 if AgeCHDdiag=. then delete ;
78 length Smoking_Status $17 ;
79 if 0<=Smoking<6 then Smoking_Status = 'Non-Smoker(0-5)' ;
80 else if 6<=Smoking<=15 then Smoking_Status='Moderate (6-15)' ;
81 else if 16<=Smoking<=25 then Smoking_Status='Heavy (16-25)' ;
82 else if Smoking>25 then Smoking_Status='Very Heavy (>25)' ;
83 else Smoking_Status='Error' ;
84 run ;
NOTE: The SAS System stopped processing this step because of errors.
WARNING: The data set WORK.HEART may be incomplete. When this step was stopped there were 0 observations and 3 variables.
WARNING: Data set WORK.HEART was not replaced because this step was stopped.
NOTE: DATA statement used (Total process time):
real time 0.79 seconds
cpu time 0.76 seconds
85
86 OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;
98
My log:
1 OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;
72
73 data heart2 ;
74 set heart (drop=AgeAtDeath DeathCause) ;
ERROR: The variable AgeAtDeath in the DROP, KEEP, or RENAME list has never been referenced.
75 length Smoking_Status $17 ;
76 where Status='Alive' ;
77 if AgeCHDdiag=. then delete ;
78 if Smoking >0 and <6 then Smoking_Status='None (0-5)' ;
_ _______________
22 180 180
79 else if Smoking >=6 and <= 15 then Smoking_Status='Moderate (6-15)' ;
__ _______________
22 180 180
80 else if Smoking >=16 and <=25 then Smoking_Status='Heavy (16-25)' ;
__ _______________
22 180 180
ERROR 22-322: Syntax error, expecting one of the following: a name, a quoted string, a numeric constant, a datetime constant,
a missing value, INPUT, PUT.
ERROR 180-322: Statement is not valid or it is used out of proper order.
81 else if Smoking >25 then Smoking_Status='Very Heavy (>25)' ;
82 else Smoking_Status = 'Error' ;
83 run ;
NOTE: The SAS System stopped processing this step because of errors.
WARNING: The data set WORK.HEART2 may be incomplete. When this step was stopped there were 0 observations and 3 variables.
WARNING: Data set WORK.HEART2 was not replaced because this step was stopped.
NOTE: DATA statement used (Total process time):
real time 0.00 seconds
cpu time 0.01 seconds
84
85 OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;
97
... View more