Hi
I know this forum is mainly for help with the SAS code itself and I have received some fantastic answers here, I would really appreciate if anyone could please help me with this.
I am doing a regression analysis, looking at the effect of 2 drugs (A or B) in a population where we stratified individuals by ethnic group:
Estimates for European Population
proc logistic data=Studydatabase;
class sex drug study;
model Efficacy (event='Good')= drug age sex weight egfr;
where population='European';
run;
Effect | OddsRatioEst | LowerCL | UpperCL | ProbChiSq |
Age | 1.005 | 0.973 | 1.037 | 0.7729 |
Drug A vs B | 1.862 | 1.229 | 2.821 | 0.0033 |
Sex Female vs Male | 1.469 | 0.925 | 2.334 | 0.1033 |
Weight | 1.015 | 1.001 | 1.028 | 0.0346 |
eGFR | 1.006 | 0.995 | 1.016 | 0.2967 |
________________________________________
Estimates for Asian Population
proc logistic data=Studydatabase;
class sex drug study;
model Efficacy (event='Good')= drug age sex weight egfr;
where population='Asian';
run;
Obs | Effect | OddsRatioEst | LowerCL | UpperCL | ProbChiSq |
1 | Age | 1.047 | 0.994 | 1.103 | 0.0839 |
2 | Drug A vs B | 0.719 | 0.217 | 2.382 | 0.5892 |
3 | Sex Female vs Male | 1.932 | 0.445 | 8.384 | 0.3795 |
4 | Weight | 0.987 | 0.954 | 1.020 | 0.4357 |
5 | eGFR | 1.014 | 0.991 | 1.036 | 0.2300 |
As you can notice, the influence of drug is significant in the European, but not in the Asian population. One could interpret this as the effect of the drug being modified according to the study subpopulation, and hence expect the p value for interaction to be significant, but it is not at all!
proc logistic data=Studydatabase;
class sex drug study;
model effectnum (event='Good')= study drug age sex weight egfr population*drug;
run;
Interactin term P value
ProbChiSq
0.1874
I know this forum is mainly for questions regarding the SAS code itself, but I would appreciate any help from all the SAS and statistics experts here
Best wishes
Am
Any explanation please? Am I missing something
You had the following code:
proc logistic data=Studydatabase;
class sex drug study;
model effectnum (event='Good')= study drug age sex weight egfr population*drug;
run;
Now one thing I would do before continuing is to include 'population' in the class statement, which would give:
proc logistic data=Studydatabase;
class sex drug study population;
model effectnum (event='Good')= study drug age sex weight egfr population*drug;
run;
Now in both of these model statements, there is a variable called 'weight', right there before egfr. It is not in the class statement, so I assume that it is a continuous covariate, and the Odds Ratio estimate of 0.987 says that the odds of a good event decrease slightly for each one unit increase in weight.
I suggested adding the term weight*population to the model, as I believe the event occurrence relationship to weight may differ in the two populations, and this needs to be removed as a possible confounder of the drug effect. This would result in the following code:
proc logistic data=Studydatabase;
class sex drug study population;
model effectnum (event='Good')= study drug age sex weight egfr population*weight population*drug;
run;
Steve Denham
Looking at the overlap in the confidence bounds on the two odds ratios, I am not surprised that the test for the point interaction is not significant.
European (1.229, 2.821)
Asian (0.219, 2.382)
Note also, that there is a significant weight effect in the European dataset that is not found in the Asian dataset. This may be a confounded variable. What happens if you add population*weight to the model?
Steve Denham
Dear Steve
Thank you very much, I have also noticed the overlap in the confidence intervals.
Could you please how to add the *weight term in the code? I mean if I do this I would get an error as I don't have a variable (weight):
proc logistic data=Studydatabase;
class sex drug study;
model effectnum (event='Good')= study drug age sex weight egfr population*weight;
run;
Thanks again
You had the following code:
proc logistic data=Studydatabase;
class sex drug study;
model effectnum (event='Good')= study drug age sex weight egfr population*drug;
run;
Now one thing I would do before continuing is to include 'population' in the class statement, which would give:
proc logistic data=Studydatabase;
class sex drug study population;
model effectnum (event='Good')= study drug age sex weight egfr population*drug;
run;
Now in both of these model statements, there is a variable called 'weight', right there before egfr. It is not in the class statement, so I assume that it is a continuous covariate, and the Odds Ratio estimate of 0.987 says that the odds of a good event decrease slightly for each one unit increase in weight.
I suggested adding the term weight*population to the model, as I believe the event occurrence relationship to weight may differ in the two populations, and this needs to be removed as a possible confounder of the drug effect. This would result in the following code:
proc logistic data=Studydatabase;
class sex drug study population;
model effectnum (event='Good')= study drug age sex weight egfr population*weight population*drug;
run;
Steve Denham
Dear Steve
Thank you very much, I have also noticed the overlap in the confidence intervals.
Could you please how to add the *weight term in the code? I mean if I do this I would get an error as I don't have a variable (weight):
proc logistic data=Studydatabase;
class sex drug study;
model effectnum (event='Good')= study drug age sex weight egfr population*weight;
run;
Thanks again
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.