I am trying to run several exact logistic regressions after using inverse probability weighting; however, it does not seem like I am able to run an EXACT statement and a WEIGHT statement simultaneously. Is there a work around? I am using exact logistic regression instead of logistic regression due to sample size concerns.
Here is my code:
proc psmatch data=DATA region=allobs; class TREATMENT VAR1; psmodel TREATMENT(Treated='1')= VAR1 VAR2 VAR3 VAR4 VAR5; ASSESS LPS VAR=(VAR2 VAR3 VAR4 VAR5)/VARINFO PLOTS=(BOXPLOT BARCHART) WEIGHT=ATEWGT; output out(obs=ALL)=PSDATA lps=Lps5 ATEWGT=ATEWGT5 PS=PS5; run; PROC LOGISTIC DATA=PSDATA; CLASS VAR6 TREATMENT(REF='0'); MODEL VAR6=TREATMENT; EXACT TREATMENT; WEIGHT ATEWGT2; RUN;
The log warning I get is: "WARNING: The EXACT statement is ignored when the WEIGHT statement is specified."
Appreciate your help.
From the documentation for Proc Logistic and the Exact statement:
Exact analyses are not performed when you specify a WEIGHT statement, a link other than LINK=LOGIT or LINK=GLOGIT, an offset variable, the NOFIT option, or a model selection method. Exact estimation is not available for ordinal response models.
What exactly are your sample size concerns?
If I were to make contingency tables for treatment and each outcome, several cell frequencies and expected cell frequencies would be small (some are less than 1). I would normally use Fisher's exact test, but with non-integer weights from the IPW, that is not an option, hence my pursuit to use exact logistic regression. I know this is possible in StatXact, but I do not have a license for it.
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!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.