I'm running a large number of logistic regressions and would like to specify particular output statistics from the proc logistic ods output dataset.
For example, using the SAS Remission dataset from here:
data Remission;
input remiss cell smear infil li blast temp;
label remiss='Complete Remission';
datalines;
1 .8 .83 .66 1.9 1.1 .996
1 .9 .36 .32 1.4 .74 .992
0 .8 .88 .7 .8 .176 .982
0 1 .87 .87 .7 1.053 .986
1 .9 .75 .68 1.3 .519 .98
0 1 .65 .65 .6 .519 .982
1 .95 .97 .92 1 1.23 .992
0 .95 .87 .83 1.9 1.354 1.02
0 1 .45 .45 .8 .322 .999
0 .95 .36 .34 .5 0 1.038
0 .85 .39 .33 .7 .279 .988
0 .7 .76 .53 1.2 .146 .982
0 .8 .46 .37 .4 .38 1.006
0 .2 .39 .08 .8 .114 .99
0 1 .9 .9 1.1 1.037 .99
1 1 .84 .84 1.9 2.064 1.02
0 .65 .42 .27 .5 .114 1.014
0 1 .75 .75 1 1.322 1.004
0 .5 .44 .22 .6 .114 .99
1 1 .63 .63 1.1 1.072 .986
0 1 .33 .33 .4 .176 1.01
0 .9 .93 .84 .6 1.591 1.02
1 1 .58 .58 1 .531 1.002
0 .95 .32 .3 1.6 .886 .988
1 1 .6 .6 1.7 .964 .99
1 1 .69 .69 .9 .398 .986
0 1 .73 .73 .7 .398 .986
;
I'd like to run the following ods output, but SAS doesn't like me combining two conditions:
ods trace on;
proc logistic data=Remission;
model remiss(event='1') = cell smear infil li blast temp;
ods output ParameterEstimates = logit_model (where=(Variable=temp)(keep=Variable Estimate ProbChiSq));
run;
Is there a way to make this work? I've tried a few variations with & without parentheses but no success.
ods output ParameterEstimates = logit_model (where=(Variable=temp) keep=Variable Estimate ProbChiSq);
KEEP= does not get its own set of parenthesis, it is enclosed in the parentheses that all data set options are enclosed in
on the other hand
WHERE= is always followed by a set of parentheses, and also is enclosed in the parentheses that all data set options are enclosed in
Your code still fails where Variable=temp because there is no variable named temp in the data set ... you don't want to compare variable to a different variable named temp (which does not exist), you want to compare variable to a specific value in the column variable ... so homework assignment ... what is the proper SAS syntax if you want to test if the value of variable is equal to a specific value ... ???
ods output ParameterEstimates = logit_model (where=(Variable=temp) keep=Variable Estimate ProbChiSq);
KEEP= does not get its own set of parenthesis, it is enclosed in the parentheses that all data set options are enclosed in
on the other hand
WHERE= is always followed by a set of parentheses, and also is enclosed in the parentheses that all data set options are enclosed in
Your code still fails where Variable=temp because there is no variable named temp in the data set ... you don't want to compare variable to a different variable named temp (which does not exist), you want to compare variable to a specific value in the column variable ... so homework assignment ... what is the proper SAS syntax if you want to test if the value of variable is equal to a specific value ... ???
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.
Find more tutorials on the SAS Users YouTube channel.