[R] Multiple hist(ograms) - One plot
Deepayan Sarkar
deepayan.sarkar at gmail.com
Fri Oct 3 08:24:07 CEST 2008
On 10/2/08, Michael Just <mgjust at gmail.com> wrote:
> Dieter and Thierry:
>
> Per you suggestions I have tried:
>
> ggplot2 from Thierry:
>
> > p <- ggplot(dat, aes(x=bbContag, y=..density..)) + geom_histogram()
>
> > p + facet_grid(. ~ sc_recov %in% c(21,31,41))
>
> But get the followinng error:
>
> Error in check_formula(formula, varnames) :
> Formula contains variables not in list of known variables
>
>
> If I don't make selections it works, but makes that very busy plot.
>
> histogram from Dieter:
> > histogram(~bbContag | sc_recov %in% c(21,31,41), data=dat)
> This produces a plot with only two histograms side by side, but I have
> chosen three groups, where is the third? I tried only choosing two groups
> and it plotted two histograms different than when I tried choosing three.
Actually, Dieter's suggestion was to use the subset argument, which
would go something like
histogram(~bbContag | sc_recov, data=dat,
subset = (sc_recov %in% c(21,31,41)))
Given that your 'sc_recov' seems to be a numeric variable, you will
probably get better annotation with
histogram(~bbContag | factor(sc_recov), data=dat,
subset = (sc_recov %in% c(21,31,41)))
-Deepayan
> Please advise,
> Thank you for your continued help,
> Michael Just
>
>
>
> On Thu, Oct 2, 2008 at 5:21 AM, ONKELINX, Thierry
>
> <Thierry.ONKELINX at inbo.be>wrote:
>
> > Michael,
> >
> > Use %in% to select multiple cases:
> >
> > dat[dat$sc_recov %in% c(21, 31, 41), ]
> >
> >
> > ------------------------------------------------------------------------
> > ----
> > ir. Thierry Onkelinx
> > Instituut voor natuur- en bosonderzoek / Research Institute for Nature
> > and Forest
> > Cel biometrie, methodologie en kwaliteitszorg / Section biometrics,
> > methodology and quality assurance
> > Gaverstraat 4
> > 9500 Geraardsbergen
> > Belgium
> > tel. + 32 54/436 185
> > Thierry.Onkelinx at inbo.be
> > www.inbo.be
> >
> > To call in the statistician after the experiment is done may be no more
> > than asking him to perform a post-mortem examination: he may be able to
> > say what the experiment died of.
> > ~ Sir Ronald Aylmer Fisher
> >
> > The plural of anecdote is not data.
> > ~ Roger Brinner
> >
> > The combination of some data and an aching desire for an answer does not
> > ensure that a reasonable answer can be extracted from a given body of
> > data.
> > ~ John Tukey
> >
> > -----Oorspronkelijk bericht-----
> > Van: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org]
> > Namens Michael Just
> > Verzonden: donderdag 2 oktober 2008 10:59
> > Aan: r-help at r-project.org
> > CC: dieter.menne at menne-biomed.de
> > Onderwerp: Re: [R] Multiple hist(ograms) - One plot
> >
> > Dieter Menne:
> > Thanks for the suggestion and link, it looks good. I think my trouble
> > now is
> > lack of basic R knowledge.
> >
> > Cheers,
> > Michael
> >
> > For example,
> >
> > I tried:
> > histogram(~bbContag | sc_recov, data=dat)
> >
> > This would work fine if I could select cases from sc_recov. How can I
> > select
> > more than one case? I know I can do:
> >
> > sc_recov.21 <- dat[dat$sc_recov=21,]
> >
> > but how could I select all cases where sc_recov = 21, 31 or 41?
> >
> >
> > On Thu, Oct 2, 2008 at 3:33 AM, Michael Just <mgjust at gmail.com> wrote:
> >
> > > Hello,
> > > If I use:
> > >
> > > p <- ggplot(dat, aes(x=bbContag, y=..density..)) + geom_histogram()
> > >
> > > and then:
> > >
> > > p + facet_grid(. ~ sc_recov)
> > >
> > > Its a little crazy because I have 48 different values in 'sc_recov'.
> > > Instead I want to select cases from 'sc_recov' and only use three at a
> > time:
> > >
> > > I tried:
> > > > p + facet_grid(sc_recov=="21" ~.)
> > > Error in check_formula(formula, varnames) :
> > > Formula contains variables not in list of known variables
> > >
> > > How can I select cases?
> > >
> > > Any ideas or suggestions?
> > > Thanks,
> > > M Just
> > >
> > > On Thu, Oct 2, 2008 at 2:42 AM, ONKELINX, Thierry <
> > > Thierry.ONKELINX at inbo.be> wrote:
> > >
> > >> Dear Michael,
> > >>
> > >> Try ggplot2. Use something like
> > >>
> > >> install.packages("ggplot2")
> > >> library(ggplot2)
> > >> recov <- 0:2
> > >> n <- 1000
> > >> all <- data.frame(bbED = rnorm(3 * n, mean = recov), recov =
> > >> factor(rep(recov, n)))
> > >> ggplot(data = all, aes(x = bbED)) + geom_histogram() + facet_grid(. ~
> > >> recov)
> > >> ggplot(data = all, aes(x = bbED)) + geom_histogram() +
> > facet_grid(recov
> > >> ~ .)
> > >> ggplot(data = all, aes(x = bbED, colour = recov)) + geom_density()
> > >>
> > >> You'll find more information on ggplot2 at http://had.co.nz/ggplot2/
> > >>
> > >> HTH,
> > >>
> > >> Thierry
> > >>
> > >>
> > ------------------------------------------------------------------------
> > >> ----
> > >> ir. Thierry Onkelinx
> > >> Instituut voor natuur- en bosonderzoek / Research Institute for
> > Nature
> > >> and Forest
> > >> Cel biometrie, methodologie en kwaliteitszorg / Section biometrics,
> > >> methodology and quality assurance
> > >> Gaverstraat 4
> > >> 9500 Geraardsbergen
> > >> Belgium
> > >> tel. + 32 54/436 185
> > >> Thierry.Onkelinx at inbo.be
> > >> www.inbo.be
> > >>
> > >> To call in the statistician after the experiment is done may be no
> > more
> > >> than asking him to perform a post-mortem examination: he may be able
> > to
> > >> say what the experiment died of.
> > >> ~ Sir Ronald Aylmer Fisher
> > >>
> > >> The plural of anecdote is not data.
> > >> ~ Roger Brinner
> > >>
> > >> The combination of some data and an aching desire for an answer does
> > not
> > >> ensure that a reasonable answer can be extracted from a given body of
> > >> data.
> > >> ~ John Tukey
> > >>
> > >> -----Oorspronkelijk bericht-----
> > >> Van: r-help-bounces at r-project.org
> > [mailto:r-help-bounces at r-project.org]
> > >> Namens Michael Just
> > >> Verzonden: donderdag 2 oktober 2008 7:29
> > >> Aan: r-help at r-project.org
> > >> Onderwerp: [R] Multiple hist(ograms) - One plot
> > >>
> > >> Hello,
> > >> I am trying to plot multiple histograms with the same scales, etc
> > into
> > >> one
> > >> plot. The commands below produce a 3 page PDF with each histogram
> > >> occupying
> > >> the upper right quadrant. And use slightly different scales on the X
> > and
> > >> Y
> > >> axes.
> > >>
> > >> > s21 <- dat[dat$sc_recov=="21",]
> > >> > s21.ED <- subset(s21, select=(bbED))
> > >> > s31 <- all[all$sc_recov=="31",]
> > >> > s31.ED <- subset(s31, select=(bbED))
> > >> > s41 <- all[all$sc_recov=="41",]
> > >> > s41.ED <- subset(s41, select=(bbED))
> > >> > pdf("234_1_ED.pdf")
> > >> > par(mfrow = c(2, 2), oma = c(0, 0, 2, 0))
> > >> > hist(s21.ED) + hist(s31.ED) + hist(s41.ED)
> > >> > dev.off()
> > >>
> > >> Also, for example if I add something like col="x", or main="x" to the
> > >> hist(x, ...) nothing appears on the plot. ?
> > >>
> > >> Please advise,
> > >> Thank you kindly,
> > >> M Just
> > >>
> > >> [[alternative HTML version deleted]]
> > >>
> > >> ______________________________________________
> > >> 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.
> > >>
> > >> Dit bericht en eventuele bijlagen geven enkel de visie van de
> > schrijver
> > >> weer
> > >> en binden het INBO onder geen enkel beding, zolang dit bericht niet
> > >> bevestigd is
> > >> door een geldig ondertekend document. The views expressed in this
> > message
> > >> and any annex are purely those of the writer and may not be regarded
> > as
> > >> stating
> > >> an official position of INBO, as long as the message is not confirmed
> > by a
> > >> duly
> > >> signed document.
> > >>
> > >
> > >
> >
> > [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > 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.
> >
> > Dit bericht en eventuele bijlagen geven enkel de visie van de schrijver
> > weer
> > en binden het INBO onder geen enkel beding, zolang dit bericht niet
> > bevestigd is
> > door een geldig ondertekend document. The views expressed in this message
> > and any annex are purely those of the writer and may not be regarded as
> > stating
> > an official position of INBO, as long as the message is not confirmed by a
> > duly
> > signed document.
> >
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> 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