[R] plotting every ith data point?

Gabor Grothendieck ggrothendieck at gmail.com
Thu Feb 21 03:04:49 CET 2008


Try this:

library(lattice)
xyplot(DSR1 + DSR2 ~ StartDate, example.df, type = "b", pch = c(1, 3),
subset = seq(1, nrow(example.df), 5))


On Wed, Feb 20, 2008 at 8:57 PM, Jessi Brown <jessilbrown at gmail.com> wrote:
> Thanks for the ideas so far, Gabor and Phil.
>
> I was hoping to find a solution that didn't depend on building another
> data frame, but if that's the easiest way, I can certainly do it
> through that route. At least your solutions involve fewer lines of
> code than I had devised for extracting the desired rows (am still a
> newbie at data manipulation with R!).
>
> cheers, Jessi
>
>
> On Wed, Feb 20, 2008 at 7:08 PM, Gabor Grothendieck
> <ggrothendieck at gmail.com> wrote:
> > Try this:
> >
> >  ix <- seq(1, nrow(example.df), 5)
> >  with(example.df[ix,], {
> >    plot(DSR1 ~ StartDate, type = "b", ylim = c(0.3, 0.9))
> >    points(DSR2 ~ StartDate, type = "b", pch = 3)
> >  })
> >
> >
> >
> >
> >  On Wed, Feb 20, 2008 at 6:57 PM, Jessi Brown <jessilbrown at gmail.com> wrote:
> >  > Hello, fellow R enthusiasts.
> >  >
> >  > Ok, I've been racking my brain about this small issue, and between
> >  > searching the help archives and reading through the plot-related
> >  > documentation, I can't figure out how to achieve my desired endpoint
> >  > without some ugly, brute force coding.
> >  >
> >  > What I would like to do is make a plot in which only a subset of my
> >  > data are plotted, but in regular intervals, such as every 5th point
> >  > along the sequence. Is anyone aware of a built-in function in plot or
> >  > a related graphing family that can do this, or alternatively, a simple
> >  > way to extract the desired rows from my original dataframe? I want to
> >  > do this because I want to plot multiple series of points with their
> >  > confidence intervals (arrows), and even if I specify type="b," the
> >  > output ends up looking like just a series of crowded points.
> >  >
> >  > For example, if you try making the plot below, you will see how
> >  > crowded two lines look without error bars:
> >  >
> >  > > example.df<-data.frame(StartDate=(94:157), DSR1=seq(0.4, 0.8, length.out=64), DSR2=seq(0.3, 0.9, length.out=64))
> >  > > plot(example.df$StartDate, example.df$DSR1, type="b", ylim=c(0.3,0.9))
> >  > > points(example.df$StartDate, example.df$DSR2, type="b", pch=3)
> >  >
> >  > Any ideas for an elegant solution to my dilemma?
> >  >
> >  > Thanks in advance for any help.
> >  >
> >  > cheers, Jessi Brown
> >  >
> >  > Ph.D. student
> >  > Program in Ecology, Evolution, and Conservation Biology
> >  > University of Nevada, Reno
> >  >
> >  > ______________________________________________
> >  > R-help at 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.
> >  >
> >
>



More information about the R-help mailing list