Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at

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

Re: st: Syntax for contextual analysis of multilevel binary outcomes

From   Steve Samuels <>
Subject   Re: st: Syntax for contextual analysis of multilevel binary outcomes
Date   Thu, 29 Apr 2010 16:58:06 -0400

The -help- for -xtmelogit- has clear examples which will answer your
questions on syntax. The "urban" variable in the examples is a
district level variable, and it goes before the double bar. Whether
you need random coefficients is a question only your data can answer.
You assess the need for a random coefficient by testing whether the
associated standard deviation is zero.

 -xtmelogit- does not reflect the complex survey design in any way.
You have several options:
1. You can estimate the population-averaged effects of all the
variables, including district level variables, in a proper survey
analysis ( -svy: logit- ) but you cannot estimate or test the standard
deviation of random intercepts or coefficients.

2. The -gllamm- package, available on SSC, can estimate these standard
deviations and will accommodate probability weights and will estimate
standard errors on the basis of variation between the primary sampling
units (PSUs) of the original survey with the -cluster()- option.
-gllamm- does not have a stratum option, but you include indicators
for the original survey strata in your list of predictors. There is a
manual for -gllamm- at and many other
resources can be found by a web search. The syntax for -gllamm- can be

3. bootstrap -xtmelogit- with the aid of the contributed commands
-bsweights- and -bs4rw-. However this process requires a high level of
understanding of sampling.

4. If you are a student,  I think that your best bet may be to obtain
a free copy of the program HLM, which fits multi-level models and can
accommodate the survey design. See: and I've never used HLM, so I
cannot tell you how easy it is to use.

You should also familiarize yourself with multilevel designs before
going much further. See: for


On Thu, Apr 29, 2010 at 5:23 AM, <> wrote:
> I am analysing a multi-stage cluster sample household survey of 5000 women in Peru and Brazil about experiences of domestic violence.  My outcome measure is current partner violence, coded as a binary variable.  I have a number of individual level exposure factors (e.g. education, alcohol use, child sexual abuse, etc), and cluster level factors created by aggregating the responses from individual women (for example, proportion of women in the cluster who completed secondary education or cluster mean on a scale of justifications of wife beating.  I want to analyse whether any of my cluster/community level predictors influence an individual woman's risk of experiencing partner violence, using multi-level analysis.
> So far I have been using the following command syntax:  xi: xtmelogit  outcome exposure exposure || cluster:, var or
> Can someone please clarify whether I should be putting the cluster level predictors in after the double bar or before?  It is my understanding that if I put them in after the bars then this gives me random coefficients and random intercepts.  Is there a way to set this up so it is just a random intercept model, and if so how?
> Also, how would I test/assess whether I need random coefficients to properly model the data?
> Thanking you in advance.
> Lori
> *
> *   For searches and help try:
> *
> *
> *

Steven Samuels
18 Cantine's Island
Saugerties NY 12477
Voice: 845-246-0774
Fax: 206-202-4783

*   For searches and help try:

© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index