please double-check that you've got all of your parameters correct by typing ?svymean ?svyby and ?make.formula before you send questions to r-help :)
# you spelled design wrong and probably need to throw out your NA values. try this # percentile by SPD status svyby(~dthage, ~xspd2, design=nhis, svyquantile, c( 0 , .25 , .5 , .75 , 1 ), keep.var = F, na.rm = TRUE) # mean for each of the 3 variables # this returns a logical vector, but make.formula requires a character vector vars <- names(nhis) %in% c("dthage", "ypll_ler", "ypl_75") vars svymean(make.formula(vars),nhis,subset (nhis, mortstat==1), na.rm=TRUE) # create a character vector instead # note you also spelled the third variable wrong-- it will break unless you correct that vars <- c("dthage", "ypll_ler", "ypll_75") # this statement has two survey design parameters, which won't work. which one do you want to use? svymean(make.formula(vars),nhis,subset (nhis, mortstat==1), na.rm=TRUE) # pick one svymean(make.formula(vars),nhis, na.rm=TRUE) svymean(make.formula(vars),subset(nhis, mortstat==1), na.rm=TRUE) # all of the variables in vars are NA whenever mortstat isn't 1, so they give the same results On Tue, Oct 2, 2012 at 7:51 PM, Muhuri, Pradip (SAMHSA/CBHSQ) < pradip.muh...@samhsa.hhs.gov> wrote: > > Hello, > > Although my R code for the svymean () and svyquantile () functions works > fine, I am stuck with the svyby () and make.formula () functions. I got > the following error messages. > > - Error: object of type 'closure' is not subsettable # svyby () > - Error in xx[[1]] : subscript out of bounds # make.formula () > > A reproducible example is appended below. > > I would appreciate if someone could help me. > > Thank you in advance. > > Pradip Muhuri > > > ####Below is a reproducible example > ########################################## > > setwd ("E:/RDATA") > > library (survey) > > xd1 <- > "dthage ypll_ler ypll_75 xspd2 psu stratum wt8 mortstat > NA NA NA 2 1 1 1683.7387 0 > NA NA NA 2 1 1 640.8950 0 > NA NA NA 2 1 1 714.0662 0 > NA NA NA 2 1 1 714.0662 0 > NA NA NA 2 1 1 530.5263 0 > NA NA NA 2 1 1 2205.2863 0 > NA NA NA 2 1 339 1683.7387 0 > NA NA NA 2 1 339 640.8950 0 > NA NA NA 2 1 339 714.0662 0 > NA NA NA 2 1 339 714.0662 0 > NA NA NA 2 1 339 530.5263 0 > NA NA NA 2 1 339 2205.2863 0 > 78 8.817926 0 2 2 1 592.3100 1 > 80 9.291881 0 2 2 1 1014.7387 1 > 87 5.001076 0 2 2 1 853.4763 1 > 87 5.001076 0 2 2 1 505.1475 1 > 88 5.510514 0 2 2 1 1429.5963 1 > 78 8.817926 0 2 2 339 592.3100 1 > 80 9.291881 0 2 2 339 1014.7387 1 > 87 5.001076 0 2 2 339 853.4763 1 > 87 5.001076 0 2 2 339 505.1475 1 > 88 5.510514 0 2 2 339 1429.5963 1 > 78 8.817926 0 2 2 339 592.3100 1 > 80 9.291881 0 2 2 339 1014.7387 1 > 87 5.001076 0 2 2 339 853.4763 1 > 87 5.001076 0 2 2 339 505.1475 1 > 88 5.510514 0 2 2 339 1429.5963 1" > newdata <- read.table (textConnection(xd1), header=TRUE, as.is=TRUE) > dim (newdata) > > > # make the grouping variable (xspd)2 > newdata$xspd2 <- factor(newdata$xspd2,levels=c (1,2),labels=c('SPD', 'No > SPD'), ordered=TRUE) > > nhis <- svydesign (id=~psu,strat=~stratum, weights=~wt8, data=newdata, > nest=TRUE) > > > # mean age at death - nationwide > > svymean( ~dthage, data=nhis , subset (nhis, mortstat==1)) > > # mean by SPD status > svyby(~dthage, ~xspd2 , design=nhis, svymean ) > > #percentile > svyquantile(~dthage, data = nhis , subset (nhis, mortstat==1), c( 0 , > .25 , .5 , .75 , 1 ) ) > > # percentile by SPD status > svyby(~dthage, ~xspd2, desin=nhis, svyquantile, c( 0 , .25 , .5 , .75 , 1 > ), keep.var = F) > > # mean for each of the 3 variables > > vars <- names(nhis) %in% c("dthage", "ypll_ler", "ypl_75") > vars > svymean(make.formula(vars),nhis,subset (nhis, mortstat==1), na.rm=TRUE) > > > > > > > > > ############################################# > > Pradip K. Muhuri > Statistician > Substance Abuse & Mental Health Services Administration > The Center for Behavioral Health Statistics and Quality > Division of Population Surveys > 1 Choke Cherry Road, Room 2-1071 > Rockville, MD 20857 > > Tel: 240-276-1070 > Fax: 240-276-1260 > e-mail: pradip.muh...@samhsa.hhs.gov<mailto:pradip.muh...@samhsa.hhs.gov> > > The Center for Behavioral Health Statistics and Quality your feedback. > Please click on the following link to complete a brief customer survey: > http://cbhsqsurvey.samhsa.gov > > > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.