Re: [R] Combining several mappings in ggplot2

From: ONKELINX, Thierry <Thierry.ONKELINX_at_inbo.be>
Date: Thu, 27 Mar 2008 10:18:27 +0100

Dear Tribo,

I've made a little mistake. It should have been

Orange2 <- data.frame(Tree = as.factor(Tree_v), age = age_v, circumference = circumference_v)
Orange2$Lines <- factor(as.numeric(Orange2$Tree) %% 4)

Have a look at help("%%")

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: Tribo Laboy [mailto:tribolaboy_at_gmail.com] Verzonden: woensdag 26 maart 2008 17:42
Aan: ONKELINX, Thierry
CC: hadley wickham; r-help_at_r-project.org Onderwerp: Re: [R] Combining several mappings in ggplot2

Hi Thierry

Thanks for replying. I tried your code, but it spit an error on me:

> Orange2 <- data.frame(Tree = as.factor(Tree_v), age = age_v,
+ circumference = circumference_v, Lines = factor(as.numeric(Orange2$Tree) + %% 4)) Error: unexpected SPECIAL in:
"Orange2 <- data.frame(Tree = as.factor(Tree_v), age = age_v, circumference = circumference_v, Lines = factor(as.numeric(Orange2$Tree) + %%"

Am I typing it correctly? What does the %% 4 or %%5 mean by the way?

Regards,

TL

On Wed, Mar 26, 2008 at 11:26 AM, ONKELINX, Thierry <Thierry.ONKELINX_at_inbo.be> wrote:
> Tribo,

>
> It looks like geom_line() accepts only 4 linetypes and you asked for
5.

>

> library(ggplot2)
>

> Tree_v <- rep(c(1:5),each = 5)
> age_v <- rep(seq(1,25, by = 5),5) + 10*runif(25)
> circumference_v <- rep(seq(21,45, by = 5), 5)*Tree_v + 25*runif(25)
>

> #This will work
>

> Orange2 <- data.frame(Tree = as.factor(Tree_v), age = age_v,
> circumference = circumference_v, Lines =
factor(as.numeric(Orange2$Tree)
> %% 4))
> ggplot(data = Orange2, aes(x = age, y = circumference, color = Tree,
> linetype = Lines)) + geom_line()
>

> #This won't
>

> Orange2 <- data.frame(Tree = as.factor(Tree_v), age = age_v,
> circumference = circumference_v, Lines =
factor(as.numeric(Orange2$Tree)
> %% 5))
>

> ggplot(data = Orange2, aes(x = age, y = circumference, color = Tree,
> linetype = Lines)) + geom_line()
>

> 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 Tribo Laboy
> Verzonden: woensdag 26 maart 2008 12:01
> Aan: hadley wickham
> CC: r-help_at_r-project.org
> Onderwerp: Re: [R] Combining several mappings in ggplot2
>
>
>

> Apologies! I though that the Orange dataset comes with R, but it is
in
> fact in the package "datasets".
>

> So here's another "Orange2" dataset for the example:
>

> Tree_v = rep(c(1:5),each = 5)
> age_v = rep(seq(1,25, by = 5),5) + 10*runif(25)
> circumference_v <- rep(seq(21,45, by = 5), 5)*Tree_v + 25*runif(25)
> Orange2 <- data.frame(Tree = as.factor(Tree_v), age = age_v,
> circumference = circumference_v)
>
>

> This works fine:
>

> ggplot(data = Orange2, aes(x = age, y = circumference, color = Tree))
> + geom_line()
>

> These generate errors (included):
>
> > ggplot(data = Orange2, aes(x = age, y = circumference, color =
Tree,
> linetype = Tree)) + geom_line()
> Error in get("check_domain", env = ., inherits = TRUE)(., ...) :
> Too many values in domain (5 > 4)
>
>

> > ggplot(data = Orange2, aes(x = age, y = circumference, color =
Tree))
> + geom_line() + scale_linetype_manual(value = c(1:5))
> Error in unit(values, units, data = data) :
> 'x' and 'units' must have length > 0
>
>

> What am I doing wrong?
>
>

> Regards,
>

> TL
>
>
>

> On Wed, Mar 26, 2008 at 2:08 AM, hadley wickham <h.wickham@gmail.com>
> wrote:
> > On Tue, Mar 25, 2008 at 11:48 AM, Tribo Laboy
<tribolaboy_at_gmail.com>
> wrote:
> > > Hello,
> > >
> > > I want to be able to make a plot that has several series with
> > > different color and linetype.
> > > Online documentation suggest that this is possible, but I
haven't
> found how:
> > >
> > > "We can also create redundant mappings, mapping the same
variable
> to
> > > multiple aesthetics. This is most useful when producing a
graphic
> for
> > > both colour and black and white display."
> > >
> > > Here's what I have to get the color
> > > ggplot(data = Orange, aes(x = age, y = circumference, color =
> Tree)) +
> > > geom_line()
> > >
> > > if i try this I get an error:
> > > ggplot(data = Orange, aes(x = age, y = circumference, color =
> Tree,
> > > linetype = Tree)) + geom_line()
> >
> > Please provide a reproducible example (or at least describe the
> > error!), otherwise we have no way to help you.
> >
> > Hadley
> >
> >
> > --
> > http://had.co.nz/
> >
>

> ______________________________________________
> 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.
>

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. Received on Thu 27 Mar 2008 - 12:43:13 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Fri 04 Apr 2008 - 08:30:25 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive