[R] Complex Surveys...Specifying Design
Tobias Verbeke
tobias_verbeke at skynet.be
Fri Jul 23 21:49:02 CEST 2004
On Fri, 23 Jul 2004 12:23:35 -0400
"Zodet, Marc" <MZodet at ahrq.gov> wrote:
> I need some guidance from someone who is familiar/has some experience with
> the survey package.
>
>
>
> The data that I am using is from the Medical Expenditure Panel Survey
> (www.meps.ahrq.gov <http://www.meps.ahrq.gov/> ). The STRATA and PSU
> variables are varstr01 and varpsu01 respectively. When I try to specify
> them with the svydesign function I get an error message. An excerpt of my
> session is as follows...
>
>
>
> library(foreign)
>
> > h60 <- read.xport("h:\\meps\\temptransports\\h60.tpt")
>
> > names(h60) <- casefold(names(h60))
>
> > names(h60)
>
> [1] "dupersid" "sex" "inscov01" "totexp01" "perwt01f" "varstr01"
> "varpsu01"
>
> > library(survey)
>
> > meps.design <- svydesign(id=~varpsu01, strata=~varstr01, weight=~perwt01f,
> data=h60)
>
> Error in svydesign(id = ~varpsu01, strata = ~varstr01, weight = ~perwt01f,
> :
>
> Clusters not nested in strata
>
> >
>
>
>
> I'm not sure what is causing this error message or how to get around it
> (i.e., remedy the problem). Any insight would be much appreciated.
Hi,
I guess the most common way of proceeding is to first stratify,
and then to sample clusters independently within each stratum.
If this is the case, your data file can be put together like
stratum psu ...
1 1
1 2
1 3
2 1
2 2
2 3
or like
stratum psu ...
1 1
1 2
1 3
2 4
2 5
2 6
svydesign only likes the first data structure so
if this is not the case (clusters not 'nested' in
your strata) you should tell svydesign to nest
(relabel) the clusters for you by passing the
argument nest = TRUE to svydesign. In other words:
meps.design <- svydesign(ids = ~varpsu01, strata = ~varstr01,
weights = ~perwt01f, nest = TRUE, data = h60)
should work. See ?svydesign.
HTH,
Tobias
More information about the R-help
mailing list