Hi, sadly it does not work either, because my index (x axis) is an atomic vector. Error Message: $ operator is invalid for atomic vectors I think I have to stick to displaying the confidence intervals with straight lines (ablines) , instead of a shaded area (polygon)
Thank you so much for your help! On Fri, Dec 2, 2016 at 11:45 AM, Jim Lemon <drjimle...@gmail.com> wrote: > Hang on, maybe you mean something like this: > > erupt_dens<-density(faithful$eruptions) > plot(erupt_dens,ylim=c(0,0.65)) > dispersion(erupt_dens$x,erupt_dens$y,ulim=erupt_dens$y/5, > type="l",fill="lightgray",interval=TRUE) > lines(erupt_dens) > > Jim > > > On Fri, Dec 2, 2016 at 9:36 PM, Jim Lemon <drjimle...@gmail.com> wrote: > > In order to display a polygon, you need x/y pairs for each point. If > > you just want a rectangle, you only need four x/y pairs, e.g.: > > > > plot(0,xlim=x(2.44,2.57),ylim=c(0,1),type="n") > > polygon(c(2.44,2.57,2.57,2.44),c(0,0,1,1),col="lightgray") > > > > Now if you have a series of x values and want to display a band of > > constant width around it: > > > > y_values<-runif(14) > > plot(seq(2.44,2.57,by=0.01),y_values,ylim=c(-2,3)) > > dispersion(seq(2.44,2.57,by=0.01),y_values,ulim=rep(0.5,14), > > type="l",interval=TRUE,col="lightgray") > > lines(seq(2.44,2.57,by=0.01),y_values) > > > > Jim > > > > On Fri, Dec 2, 2016 at 8:59 PM, Elysa Mitova <elysa.mit...@gmail.com> > wrote: > >> Thank you, > >> > >> this seems to work, but it is not exactly what I need (it indeed looks > >> great, but a bit beyond my understanding) > >> > >> I just need a shaded area between 2.44 to 2.57 along the x-axis - a > polygon > >> inserted into my density plot (and not a confidence line along a scatter > >> plot like your suggested solution) > >> > >> My x-axis is an index (a data frame), my y-axis is the automatically > >> constructed density > >> > >> On Fri, Dec 2, 2016 at 10:01 AM, Jim Lemon <drjimle...@gmail.com> > wrote: > >>> > >>> Hi Elysa, > >>> I think you are going a bit off course in your example. Try this and > >>> see if it is close to what you want: > >>> > >>> data<-rnorm(100)+runif(100,0,15) > >>> smu_data<-supsmu(1:100,data) > >>> rollfun<-function(x,window=10,FUN=sd) { > >>> xlen<-length(x) > >>> xout<-NA > >>> forward<-window%/%2 > >>> backward<-window-forward > >>> for(i in 1:xlen) { > >>> xstart<-i-backward > >>> if(xstart < 1) xstart<-1 > >>> xend<-i+forward-1 > >>> if(xend > xlen) xend<-xlen > >>> xout[i]<-do.call(FUN,list(x[xstart:xend],na.rm=TRUE)) > >>> } > >>> return(xout) > >>> } > >>> mad_data<-rollfun(data,10,mad) > >>> plot(data,ylim=c(0,17)) > >>> library(plotrix) > >>> dispersion(smu_data$x,smu_data$y,mad_data,type="l",interval=TRUE, > >>> fill="lightgray") > >>> lines(smu_data,lwd=2) > >>> points(1:100,data) > >>> > >>> Jim > >>> > >>> > >>> On Fri, Dec 2, 2016 at 7:18 PM, Elysa Mitova <elysa.mit...@gmail.com> > >>> wrote: > >>> > Hi, thank you! > >>> > > >>> > I've constructed the upper and lower bounds with > >>> > > >>> > a <- 2.505766 > >>> > s <- 0.7789832 > >>> > n <- 607 > >>> > error <- qnorm(0.975)*s/sqrt(n) > >>> > left <- a-error > >>> > right <- a+error > >>> > left > >>> > right > >>> > > >>> > Now, I have the numbers I need, but I have no idea how to plot them. > I > >>> > was > >>> > thinking of using a polygon, but somehow it doesn't work out, > because my > >>> > y-axis shows only density and is in itself not a variable? > >>> > > >>> > xx <- data > >>> > > >>> > fit1 <- density(data,na.rm=TRUE) > >>> > > >>> > fit2 <- replicate(10000, { x <- sample(xx, replace=TRUE); > >>> > density(x, na.rm=TRUE, from=min(fit1$x), to=max(fit1$x))$y } > ) > >>> > > >>> > fit3 <- apply(fit2, 1, quantile, c(0.025,0.975) ) - Probably herein > >>> > lies the problem? > >>> > > >>> > plot(fit1, ylim=range(fit3)) > >>> > polygon( c(fit1$x, rev(fit1$x)), c(fit3[1,], rev(fit3[2,])), > >>> > col='grey', border=F) > >>> > lines(fit1) > >>> > > >>> > I tried working with this solution I found on the internet, but > >>> > somehow now the lines the shaded areas sporadically everywhere around > >>> > my density plot? I just want a polygon spreading from 2.44 to 2.57 > >>> > along the x-axis. > >>> > > >>> > > >>> > Any tipps? > >>> > > >>> > > >>> > > >>> > > >>> > On Fri, Dec 2, 2016 at 1:24 AM, David Winsemius < > dwinsem...@comcast.net> > >>> > wrote: > >>> > > >>> >> > >>> >> > On Dec 1, 2016, at 12:10 PM, Elysa Mitova <elysa.mit...@gmail.com > > > >>> >> wrote: > >>> >> > > >>> >> > Hi, > >>> >> > > >>> >> > I am desperately looking for a way to plot confidence intervals > into > >>> >> > a > >>> >> > density plot of only one variable (not a scatter plot etc.) > >>> >> > > >>> >> > Have you any advice how to do this? > >>> >> > > >>> >> > I've only found manual ways to do with "abline", but this is a > rather > >>> >> > bothersome method and only works with ggplot (and not ggplot2). > >>> >> > >>> >> This makes it appear that you expect this to be done in ggplot2 > >>> >> automagically. I suspect you must instead first find the right > approach > >>> >> to > >>> >> construction of those upper and lower bounds before plotting. It's > not > >>> >> clear what methods you expect to be needed. Your desperation is not > a > >>> >> guide. Perhaps trying a bit of searching? > >>> >> > >>> >> install.packages("sos") > >>> >> library(sos) > >>> >> findFn("confidence intervals density estimates") > >>> >> > >>> >> > >>> >> Delivers quite a few results. Then searching on the text within that > >>> >> webpage you find > >>> >> > >>> >> > >>> >> 208 2 27 54 nprobust kdrobust > >>> >> 2016-11-14 > >>> >> 16:41:50 27 Kernel Density Estimation with Robust > Confidence > >>> >> Intervals > >>> >> 209 2 27 54 nprobust lprobust > >>> >> 2016-11-14 > >>> >> 16:41:50 27 Local-Polynomial Estimation with Robust > Confidence > >>> >> Intervals > >>> >> > >>> >> Is that what you seek? > >>> >> > >>> >> > > >>> >> > Thank you! > >>> >> > > >>> >> > [[alternative HTML version deleted]] > >>> >> I know you just subscribed, so now is the time to read the Posing > >>> >> Guide. > >>> >> > >>> >> == > >>> >> > >>> >> David Winsemius > >>> >> Alameda, CA, USA > >>> >> > >>> >> > >>> > > >>> > [[alternative HTML version deleted]] > >>> > > >>> > ______________________________________________ > >>> > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > >>> > 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. > >> > >> > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.