Hi everyone, Thank you in advance for your help. I am a SAS beginner, and trying to carry out meta analysis using proc mixed.
I have results from two linear regressions carried out, stratifying by location. I need to meta analyse regression results from two locations.
I am stuck at the beginning 😞
1) What should be the input data for this analysis? Is it the whole dataset (merged from both locations), or beta and se estimates from the two models?
2) Do I need to include a "parms" statement and include my estimates this way?
I do realize my program should look something like this:
PROC MIXED DATA=final;
CLASS location;
MODEL protein = / P SOLUTION;
RANDOM location / SOLUTION;
run;
Thanks so much again!!!
The PROC MIXED code you presented will work for the coefficients, provided you have equal numbers of observations for each location and the variances are relatively equal. However in this case it probably makes more sense to fit the regressions with location as a random effect. I don't know what the independent variable and dependent variable are for your case, so I will just put them in as X and Y, respectively.
Then combine the datasets (if available to you) into a single dataset (called HAVE in this case), and try the following;
proc mixed data=have;
class location;
model y = x / solution cl;
random location / solution;
run;
If you go this route, you will not have to worry about how to convert the std errors of the parameters into weights for the analysis. However, this method can be a problem if you have only summary data (coefficients and s.e.'s for several studies/locations).
SteveDenham
The PROC MIXED code you presented will work for the coefficients, provided you have equal numbers of observations for each location and the variances are relatively equal. However in this case it probably makes more sense to fit the regressions with location as a random effect. I don't know what the independent variable and dependent variable are for your case, so I will just put them in as X and Y, respectively.
Then combine the datasets (if available to you) into a single dataset (called HAVE in this case), and try the following;
proc mixed data=have;
class location;
model y = x / solution cl;
random location / solution;
run;
If you go this route, you will not have to worry about how to convert the std errors of the parameters into weights for the analysis. However, this method can be a problem if you have only summary data (coefficients and s.e.'s for several studies/locations).
SteveDenham
Hi Steve,
Thank you so much! I do have all the data available, so I can try this method.
In the regressions, we also adjust for different variables (eg: age, gender). How do I include these in the meta analyses? Would it be similar to the code below?
proc mixed data=have;
class location gender;
model y = x age gender/ solution cl;
random location / solution;
run;
That will work. I assume you have already done checking for equal slopes in the analyses for each location. In particular, I would look at the x by gender interaction, to make sure that the slopes were equal across genders. If the slopes are not equal and you don't accommodate that finding, you can easily end up with paradoxical results, especially once you start looking at marginal results averaged over locations. Google "Simpsons paradox" for examples.
SteveDenham
Thank you, Steve.
IF only the summary data was available, could you please explain how to run this meta analysis / direct me to a paper/tutorial for it?
I appreciate your help 🙂
I think a great source for learning about, and how to do, meta-analysis is the Cochrane Learning site, and in particular, the Cochrane Handbook for Systematic Reviews of Interventions. It is available on-line, but download of pdfs is restricted. Chapter 10 https://training.cochrane.org/handbook/current/chapter-10 covers meta analysis, both fixed effect and random effect methods. SAS doesn't specifically have a procedure for meta-analysis--you would use appropriate procedures to get confidence bounds or p values. Forest plots and funnel plots can be done using PROC SGPLOT--search online for papers on how to implement these.
SteveDenham
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.
Find more tutorials on the SAS Users YouTube channel.