Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
st: Analyzing multiple mediators
From 
 
"Kim, Isok" <[email protected]> 
To 
 
"'[email protected]'" <[email protected]> 
Subject 
 
st: Analyzing multiple mediators 
Date 
 
Wed, 21 Nov 2012 09:50:15 -0500 
Hi,
I'm trying to analyze a model with multiple mediators, as described in ULCA stata FAQ site (http://www.ats.ucla.edu/stat/stata/faq/mulmediation.htm).  The analyses are based on Preacher & Hayes (2008) method and uses combination of -sureg- and -nlcom- commands to get the coefficients and indirect effects coefficients, respectively. Then to get the standard errors, it demonstrates use of ado-program called 'bootmm' and subsequent bootstrap post-estimation command.
Where I'm having trouble with this combination of analyses is at the last stage with bootstrap command. The error msg reads, "insufficient observations to compute jackknife standard errors; no results will be saved" r(2000).
There are 397 observations included in the analyses and -sureg- command runs fine.  I'm not sure where the error is coming from.  Below is the syntax I used. Any suggestion or insight into resolving this problem would be greatly appreciated!
Thanks,
isok
*---------------------------------------------------------------------------*/
/* H2a: Mediation Test IVs(PRD) MV(GC3E GC3D RC3E RC3D) DV(CESD) CV(controls)*/
/* surge (mv1 iv cv)(mv2 iv2 cv)(dv mv1 mv2 iv cv)                           */
/* nlcom [mv1]_b[iv]*[dv]_b[mv1]                                             */
/*---------------------------------------------------------------------------*/
/*-sureg-&-nlcom- methods*/
sureg (GC3E PRD i.SEX AGE EDU i.UNEMP i.MARSTS i.NATIVITY) ///
      (GC3D PRD i.SEX AGE EDU i.UNEMP i.MARSTS i.NATIVITY) ///
	  (RC3E PRD i.SEX AGE EDU i.UNEMP i.MARSTS i.NATIVITY) ///
	  (RC3D PRD i.SEX AGE EDU i.UNEMP i.MARSTS i.NATIVITY) ///
	  (CESD GC3E GC3D RC3E RC3D PRD i.SEX AGE EDU i.UNEMP i.MARSTS i.NATIVITY) if NMV==1
//Indirect via GC3E
nlcom [GC3E]_b[PRD]*[CESD]_b[GC3E]
//Indirect via GC3D
nlcom [GC3D]_b[PRD]*[CESD]_b[GC3D]
//Indirect via GC3E
nlcom [RC3E]_b[PRD]*[CESD]_b[RC3E]
//Indirect via GC3D
nlcom [RC3D]_b[PRD]*[CESD]_b[RC3D]
//Total indirect
nlcom [GC3E]_b[PRD]*[CESD]_b[GC3E]+[GC3D]_b[PRD]*[CESD]_b[GC3D] ///
     +[RC3E]_b[PRD]*[CESD]_b[RC3E]+[RC3D]_b[PRD]*[CESD]_b[RC3D]
capture program drop bootmm
program bootmm, rclass
	syntax [if] [in]
	sureg (GC3E PRD i.SEX AGE EDU i.UNEMP i.MARSTS i.NATIVITY) ///
          (GC3D PRD i.SEX AGE EDU i.UNEMP i.MARSTS i.NATIVITY) ///
	      (RC3E PRD i.SEX AGE EDU i.UNEMP i.MARSTS i.NATIVITY) ///
	      (RC3D PRD i.SEX AGE EDU i.UNEMP i.MARSTS i.NATIVITY) ///
	      (CESD GC3E GC3D RC3E RC3D PRD i.SEX AGE EDU i.UNEMP i.MARSTS i.NATIVITY) if NMV==1
	return scalar indGC3E = [GC3E]_b[PRD]*[CESD]_b[GC3E]
	return scalar indGC3D = [GC3D]_b[PRD]*[CESD]_b[GC3D]
	return scalar indRC3E = [RC3E]_b[PRD]*[CESD]_b[RC3E]
	return scalar indRC3D = [RC3D]_b[PRD]*[CESD]_b[RC3D]
	return scalar indtotal = [GC3E]_b[PRD]*[CESD]_b[GC3E]+[GC3D]_b[PRD]*[CESD]_b[GC3D] ///
                            +[RC3E]_b[PRD]*[CESD]_b[RC3E]+[RC3D]_b[PRD]*[CESD]_b[RC3D]
end
bootstrap r(indGC3E) r(indGC3D) r(indRC3E) r(indRC3D) r(indtotal), bca reps(1000) nodots: bootmm
estat boot, percentile bc bca
*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/faqs/resources/statalist-faq/
*   http://www.ats.ucla.edu/stat/stata/