Hello SAS Community,
I'm doing 1:1 propensity score matching procedure
The data set contains 47366 samples (treatment=30694/ control=16672)
After PROC PSMATCH procedure, I got a table as below
The number of All Obs (Treatment) and All Obs (Control) is different from the original data set, 70 of the total sample were lost.
And I also got a warning: Some treated units do not have matched controls because there are not enough available controls for these treated units.
Is this problem related to the warning? How do I solve it?
proc psmatch data=B.HLP_ID_COMED region=treated;
class SEX statin c_htn c_dm c_os c_mg c_go c_as c_sch c_emd c_nd c_dp c_thy c_gl m_antihi m_bb m_diur m_ssri m_anticho m_ppi m_glau ;
Psmodel statin (Treated='1')= AGE SEX c_htn c_dm c_os c_mg c_go c_as c_sch c_emd c_nd c_dp c_thy c_gl m_antihi m_bb m_diur m_ssri m_anticho m_ppi m_glau;
match method=greedy( k=1) exact=(SEX) caliper=0.2 ;
assess lps var=(AGE SEX c_htn c_dm c_os c_mg c_go c_as c_sch c_emd c_nd c_dp c_thy c_gl m_antihi m_bb m_diur m_ssri m_anticho m_ppi m_glau)/plots=ALL weight=none;
output out(obs=match)=OUT_PSM matchid=_MatchID; run;
Hi,
did you check if you have missings in your treatment variable?
- Cheers -
Thank you for your reply
I’ve checked the sample and there is no missing data.
Is there other explanations for the 70 lost from the sample?
Thank you!
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
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.
Ready to level-up your skills? Choose your own adventure.