Notice: On March 31, it was **announced** that Statalist is moving from an email list to a **forum**. The old list will shut down at the end of May, and its replacement, **statalist.org** is already up and running.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

From |
Steve Samuels <sjsamuels@gmail.com> |

To |
statalist@hsphsun2.harvard.edu |

Subject |
Re: st: Analyzing multiple mediators |

Date |
Sun, 25 Nov 2012 10:28:05 -0600 |

Kim: To answer your original question: The error arose because you applied the -if- expression only to -sureg- , not to the -bootmm- command. -jackknife-, called by the "bca" option, assumed that every observation was in the estimation sample. The fix: 1. After the -syntax- statement in your program, add the statement: "marksample touse". 2. In place of "if NMV==1", substitute "if `touse'". 3. In the -bootstrap- statement, after "bootmm", add "if NMV==1". I agree with Ariel that -khb- offers a more comprehensive approach. The -mediation- package by Hicks and Tingley (at SSC) is also worth considering, because it does a sensitivity analysis of an important assumption. Reference: Hicks, R., and D. Tingley. 2011. Causal mediation analysis. Stata Journal 11, no. 4: 605. A preprint is as http://scholar.harvard.edu/dtingley/software/mediation-stata. (You can often find preprints with Google Scholar). Steve On Nov 22, 2012, at 9:46 AM, Ariel Linden, DrPH wrote: Kim, a much better approach for you to consider is -khb- ( a user-written program : -findit khb-). You should read the accompanying Stata Journal article since it gives nice examples of a multi-mediator scenario: http://www.stata-journal.com/article.html?article=st0236 Ariel Date: Wed, 21 Nov 2012 09:50:15 -0500 From: "Kim, Isok" <isokkim@buffalo.edu> Subject: st: Analyzing multiple mediators 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/ * * 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/

**Follow-Ups**:**RE: st: Analyzing multiple mediators***From:*"Kim, Isok" <isokkim@buffalo.edu>

**References**:**re: st: Analyzing multiple mediators***From:*"Ariel Linden, DrPH" <ariel.linden@gmail.com>

- Prev by Date:
**RE: st: Analyzing multiple mediators [resend--previous e-mail was unclear; sorry]** - Next by Date:
**st: Independent components analysis or projection pursuit?** - Previous by thread:
**RE: st: Analyzing multiple mediators** - Next by thread:
**RE: st: Analyzing multiple mediators** - Index(es):