[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