The line isn't a theoretical distribution, it's a kernel density estimator and so should match your histogram.
It looks as though you use exactly the same call lines (svysmooth(~dthage, bandwidth=5,subset(nhis, xspd2=='No SPD')), lwd=2) for each plot, which gives a smooth curve estimating the age at death for people with No SPD. To get, eg, age at interview for the SPD group use something like: lines (svysmooth(~age_p, bandwidth=5,subset(nhis, xspd2=='SPD')), lwd=2) -thomas On Sun, Oct 7, 2012 at 2:19 PM, Muhuri, Pradip (SAMHSA/CBHSQ) <pradip.muh...@samhsa.hhs.gov> wrote: > Hi Anthony, > > The ylim () has been added to the code (please see below), and I got 4 plots > that have the same y -dimension. > > Each plot displays 2 distributions - one as histogram from the data and > another one as line (i.e., idealized theoretical normal distribution?). > > My question is, "Is there way to change the distribution in the line () > function and try other theoretical distribution to approximate the observed > distribution?" > > > Thanks, > > Pradip Muhuri > > > ######################################## > > MyBreaks <- c(18,35,45,55,65,75,85,95) > > png("svyhist_no_spd_age_at_inteview.png") > options( survey.lonely.psu = "adjust" ) > svyhist (~age_p, > subset (nhis, xspd2=='No SPD'), breaks=MyBreaks, > ylim = c(0,0.035), > main= " ", > col="grey80", xlab="Age at Interview among those Who had no SPD" > ) > > lines (svysmooth(~dthage, bandwidth=5,subset(nhis, xspd2=='No SPD')), lwd=2) > > dev.off () > > ________________________________________ > From: Anthony Damico [ajdam...@gmail.com] > Sent: Saturday, October 06, 2012 6:56 AM > To: Muhuri, Pradip (SAMHSA/CBHSQ) > Cc: David Winsemius; R help > Subject: Re: [R] svyhist > > ?ylim says "numeric vectors of length 2" - so just the beginning and end. > > ?svyhist doesn't specifically mention the ylim parameter, meaning you should > look for a "..." in the arguments list and click through to the page for ?hist > > ?hist has an example that shows the ylim parameter only containing the > beginning and end values. > > try using > > ylim = c( 0 , 0.030 ) > > if you're looking to set the tick marks, look at ?axis ;) > > > On Fri, Oct 5, 2012 at 11:18 PM, Muhuri, Pradip (SAMHSA/CBHSQ) > <pradip.muh...@samhsa.hhs.gov<mailto:pradip.muh...@samhsa.hhs.gov>> wrote: > Dear Anthony and David, > > Sorry- the earlier-sent plots were mislabeled, which I have corrected and > attached. But, the y-lim issue is yet to be resolved. > > Thanks, > > Pradip Muhuri > > > ________________________________________ > From: Anthony Damico [ajdam...@gmail.com<mailto:ajdam...@gmail.com>] > Sent: Friday, October 05, 2012 7:29 PM > To: David Winsemius > Cc: Muhuri, Pradip (SAMHSA/CBHSQ); R help > Subject: Re: [R] svyhist > > this worked for me -- and doesn't require removing the PSUs from the design > :) > > options( survey.lonely.psu = "adjust" ) > svyhist (~dthage, > subset (nhis, xspd2=='No SPD'), breaks=MyBreaks, main= " ", > col="grey80", > xlab="Age at Death Distribution" > ) > lines (svysmooth(~dthage, bandwidth=5,subset(nhis, xspd2=='No SPD')), lwd=2) > > > Dr. Lumley has written quite a bit about single-PSU strata here: > http://faculty.washington.edu/tlumley/survey/exmample-lonely.html > > > > On Fri, Oct 5, 2012 at 7:16 PM, David Winsemius > <dwinsem...@comcast.net<mailto:dwinsem...@comcast.net><mailto:dwinsem...@comcast.net<mailto:dwinsem...@comcast.net>>> > wrote: > > On Oct 5, 2012, at 3:33 PM, Muhuri, Pradip (SAMHSA/CBHSQ) wrote: > >> Hello, >> >> I was trying to draw histograms of age at death and got the following 2 >> error messages: >> >> >> 1) Error in tapply(1:NROW(x), list(factor(strata)), function(index) { : >> >> arguments must have same length > > This is the top of the output of str applied to the data argument you offered > to svyhist: > > >> str(subset (nhis, xspd2==2) ) > List of 9 > $ cluster :'data.frame': 0 obs. of 1 variable: > ..$ psu: Factor w/ 47 levels "109.1","115.2",..: > ..- attr(*, "terms")=Classes 'terms', 'formula' length 2 ~psu > .. .. ..- attr(*, "variables")= language list(psu) > .. .. ..- attr(*, "factors")= int [1, 1] 1 > .. .. .. ..- attr(*, "dimnames")=List of 2 > .. .. .. .. ..$ : chr "psu" > .. .. .. .. ..$ : chr "psu" > > At least one problem seems pretty clear. No data. That can be corrected by > wrapping as.numeric() around the factor on which you are subsetting in two > places. > > Another problem may arise when you restrict to one class only, namely there > won't any "design" to work with. All the clusters .... there would be only > one .... no longer have any multiplicity, and svyhist apparently isn't > built to handle situation, at least with that design argument. > > Error in onestrat(x[index, , drop = FALSE], clusters[index], nPSU[index][1], > : > Stratum (2) has only one PSU at stage 1 > > Taking the 'stratum' argument out of the design() spec allows it to proceed, > but I do not know if that is introducing invalidity in the analysis. > -- > David. > >> >> >> 2) Error in findInterval(mm[, i], gx) : 'vec' contains NAs >> >> In addition: Warning messages: >> >> 1: In min(x) : no non-missing arguments to min; returning Inf >> >> 2: In max(x) : no non-missing arguments to max; returning -Inf >> >> >> >> I would appreciate if someone could help me resolve these issues. >> >> >> >> Below is reproducible example. >> >> Thanks, >> >> Pradip Muhuri >> >> >> >> setwd ("E:/RDATA") >> options(width = 120) >> library (survey) >> library (KernSmooth) >> xd1 <- >> "dthage ypll_75 xspd2 psu stratum wt8 >> 56 19 2 2 33 1512.7287 >> 86 0 2 2 129 1830.6400 >> 81 0 2 1 67 536.1400 >> 47 28 2 1 17 519.8350 >> 71 4 1 1 225 254.4087 >> 72 3 1 1 238 424.4787 >> 75 0 2 2 115 407.0987 >> 83 0 2 2 46 622.5137 >> 79 -4 2 1 300 509.1212 >> 78 -3 2 1 133 517.3325 >> 71 4 2 2 328 1179.3063 >> 64 11 2 1 2 301.5250 >> 78 -3 2 1 62 253.9025 >> 65 10 2 2 260 932.6575 >> 75 0 2 1 247 145.5900 >> 63 12 2 2 156 247.0650 >> 71 4 2 1 146 829.4787 >> 76 -1 2 2 234 432.5437 >> 76 0 2 1 109 859.6888 >> 68 7 2 1 228 1236.2975 >> 64 11 2 2 167 347.5788 >> 62 13 2 2 312 354.0500 >> 77 0 2 2 275 882.1938 >> 78 -3 2 1 28 481.5975 >> 81 0 2 1 180 1285.5425 >> 79 0 2 2 205 576.0000 >> 70 5 2 1 173 128.3725 >> 75 0 2 2 189 359.3863 >> 78 0 2 1 332 512.8062 >> 74 1 2 2 14 449.0800 >> 77 0 2 1 242 283.0013 >> 92 0 2 1 152 915.3200 >> 69 6 2 2 217 672.7663 >> 53 22 2 1 290 1430.8812 >> 81 0 2 2 90 699.1075 >> 67 8 2 2 316 607.6500 >> 85 0 2 1 171 312.9850 >> 93 0 2 2 119 936.1275 >> 82 0 2 1 118 186.4450 >> 71 4 2 2 329 729.1213 >> 43 32 2 1 215 887.6313 >> 74 1 2 1 180 569.9338 >> 89 0 2 1 324 1054.0887 >> 81 0 2 2 47 532.0987 >> 70 5 2 1 53 450.8750 >> 75 0 1 1 38 557.9750 >> 56 19 2 1 17 512.6363 >> 90 0 2 2 29 569.7888 >> 70 5 2 1 251 554.2138 >> 56 19 2 2 14 1114.1762" >> tor <- read.table (textConnection(xd1), header=TRUE, sep='', >> as.is<http://as.is><http://as.is>=TRUE) >> >> >> # Grouping variable (xspd) to be factor >> tor <- within(tor, { >> xspd2 <- factor(xspd2,levels=c (1,2), >> labels=c('SPD', 'No SPD'), ordered=TRUE) >> } >> ) >> # object with survey design variables and data >> nhis <- svydesign (id=~psu,strat=~stratum, weights=~wt8, data=tor, nest=TRUE) >> >> MyBreaks <- c(18,35,45,55,65,75,85,95) >> >> png("svyhist_age_at_death.png") >> >> svyhist (~dthage, >> subset (nhis, xspd2==2), breaks=MyBreaks, main= " ", >> col="grey80", >> xlab="Age at Death Distribution" >> ) >> lines (svysmooth(~dthage, bandwidth=5,subset(nhis, xspd2==2)), lwd=2) >> >> dev.off () >> >> >> >> >> >> >> 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><mailto:pradip.muh...@samhsa.hhs.gov<mailto:pradip.muh...@samhsa.hhs.gov>><mailto:pradip.muh...@samhsa.hhs.gov<mailto:pradip.muh...@samhsa.hhs.gov><mailto: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<http://cbhsqsurvey.samhsa.gov/> >> >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-help@r-project.org<mailto:R-help@r-project.org><mailto:R-help@r-project.org<mailto: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. > > David Winsemius, MD > Alameda, CA, USA > > ______________________________________________ > R-help@r-project.org<mailto:R-help@r-project.org><mailto:R-help@r-project.org<mailto: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. > > > > ______________________________________________ > 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. > -- Thomas Lumley Professor of Biostatistics University of Auckland ______________________________________________ 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.