Stata The Stata listserver
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

st: re: bivariate random effects diagnostic meta-analysis


From   "G. ter Riet" <G.terRiet@amc.uva.nl>
To   statalist@hsphsun2.harvard.edu
Subject   st: re: bivariate random effects diagnostic meta-analysis
Date   Fri, 16 Apr 2004 15:47:34 +0200

Hi Joseph,
I happen to know more about how the bivariate model is SAS is specified by some people at another department of my institute, although I do not understand the SAS code. Perhaps it will help you (or others who are smart with Stata) to help people like myself who'd like to do this type of analysis using Stata.
Cheers.

References: Stat Med 2002;21:589-624 & Stat Med 1993;12:2273-84
1. They work with the four cells from the 2x2 tables of each study (44 studies in their example, and 3 test modalities which are used as independent variables)
2. each study gets 2 indicator variables, called 'dis' and 'non_dis' (for the record holding logit sensitivity dis==1, non_dis==0; for the record holding logit specificity non_dis==1, and dis==0
3. They create a separate dataset containing the variances of logit_sensitivity and logit_specificity for each study
4. That dataset (see 3) contains 3 additional records, containing the starting values for of 3 additional variances of the bivariate model: variance in logit_sensitivity between studies, variance in logit_specificity between studies, and the covariance between the former two logits, respectively.
5. Then they specify
proc mixed data=filename method=reml cl;
class study_id modality */ categorical variables */
model logit=dis*modality non_dis*modality /noint s cl covb df=1000, 1000, 1000, 1000, 1000, 1000, 1000  */the model estimates mean values for sens and for each of the 3 modalities */
random dis non_dis/ subject=study_id type=unstructured; */ random effects for logit_sens and spec with possible correlation */
repeated / group=rec' */ command to define the within-study variances */
parms / parmsdata=cov hold=4 to 91 */ holding the within study variances constant, remember: 44 studies * 2 records plus 3 additional records */

contrast 'mod1_sens vs mod2_sens' dis*modality 1 -1 0 /df=1000; */ testing the differences in sensitivities between modalities */
contrast 'mod1_sens vs mod3_sens' dis*modality 1 0 -1 /df=1000;
contrast 'mod2_sens vs mod3_sens' dis*modality 0 1 -1/df=1000;

contrast 'mod1_spec vs mod2_spec' non_dis*modality 1 -1 0/df=1000; */ testing the differences in specificities between modalities */
contrast 'mod1_spec vs mod3_spec' non_dis*modality 1 0 -1/df=1000;
contrast 'mod2_spec vs mod3_spec' non_dis*modality 0 1 -1/df=1000;

contrast 'mod1_odds vs mod2_odds' dis*modality 1 -1 0 non_dis*modality 1 -1 0/df=1000; */ testing the differences in diagnostic odds ratios between modalities */
contrast 'mod1_odds vs mod3_odds' dis*modality 1 0 -1 non_dis*modality 1 0 -1/df=1000;
contrast 'mod2_odds vs mod3_odds' dis*modality 0 1 -1 non_dis*modality 0 1 -1/df=1000;
run;

Gerben ter Riet, MD PhD, Academic Medical Center
Dept. General Practice, Room J3-354, 1105 AZ Amsterdam

*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/



© Copyright 1996–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index