[R] Help me please: gplot, facets_wrap and ordering of x axis dates
David Lyon
david_lyon3 at yahoo.com
Wed May 15 15:50:27 CEST 2013
Thank you very much for your help and time.
That works very nicely....Thanks again!
----- Original Message -----
From: John Kane <jrkrideau at inbox.com>
To: David Lyon <david_lyon3 at yahoo.com>; r-help <r-help at r-project.org>
Cc:
Sent: Wednesday, May 15, 2013 9:36 AM
Subject: Re: [R] Help me please: gplot, facets_wrap and ordering of x axis
dates
My appologies, I was in a rush yesterday and a) completely misread the post and b) did not scroll down far enough. David W is correct that you need to do something with the data set. <.6 is not a number.
Also, as David says, it sounds like your coversion using as.Date did not work out. The difficulty from here is that if is graphs then it sounds like your actual data.frame is not exactly the same as what I get if I try to read in the data you included. hat is why supplying the data using something like dput() is important.
I don't see how got something to plot. However if I get rid of the < in the text file and read in the data , etc I get something that may look like what you want. See code below. I renamed the data.frame to dat1, just because it was handy and renamed the variable date to date1 since date is a reserved word in R . Type date() to see what I mean.
Again my applogies for completely misreading the problem
John Kane
Kingston ON Canada
#####################################################
library(lubridate)
library(ggplot2)
dat1 <- structure(list(id = c(1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 4L,
4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 6L, 6L,
6L, 6L, 6L, 8L, 8L, 8L, 8L, 8L, 9L, 9L, 9L, 9L, 9L, 9L, 10L,
10L, 10L, 10L, 10L, 11L, 11L, 11L, 11L, 11L, 11L, 12L, 12L, 12L,
12L, 12L, 13L, 13L, 13L, 14L, 14L, 14L, 14L, 14L, 14L, 14L, 14L,
14L, 14L, 14L, 14L, 14L, 15L, 15L, 15L, 15L, 16L, 16L, 16L, 16L,
16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 17L, 17L, 18L, 18L, 18L,
18L, 18L), date1 = c("8/16/10", "10/25/10", "11/8/10", "11/22/10",
"12/6/10", "8/18/10", "10/25/10", "11/8/10", "11/22/10", "8/20/10",
"10/25/10", "11/8/10", "11/22/10", "12/6/10", "10/26/11", "6/4/09",
"6/18/10", "8/25/10", "9/15/10", "10/25/10", "11/8/10", "11/22/10",
"12/6/10", "11/4/11", "9/23/10", "10/25/10", "11/8/10", "11/22/10",
"12/6/10", "8/25/10", "10/25/10", "11/8/10", "12/6/10", "6/11/12",
"10/6/10", "11/22/10", "2/2/11", "2/16/11", "3/2/11", "3/16/11",
"9/14/10", "2/2/11", "2/16/11", "3/2/11", "3/16/11", "8/20/10",
"2/2/11", "2/16/11", "3/2/11", "3/16/11", "10/26/11", "12/14/10",
"2/2/11", "2/16/11", "3/2/11", "3/16/11", "11/13/09", "8/19/10",
"2/2/11", "2/6/13", "4/24/13", "8/18/10", "10/5/10", "10/27/10",
"2/2/11", "2/16/11", "3/2/11", "3/16/11", "6/29/11", "8/15/11",
"8/15/12", "10/31/12", "12/10/10", "2/2/11", "3/2/11", "3/16/11",
"12/17/10", "1/25/11", "2/2/11", "2/2/11", "2/16/11", "3/2/11",
"3/16/11", "3/20/12", "3/26/12", "3/30/12", "4/2/12", "4/23/12",
"11/17/11", "12/9/11", "2/25/13", "3/11/13", "3/25/13", "4/10/13",
"4/22/13"), value = c(0.16, 0.16, 0.42, 0.81, 0.16, 2.93, 2.4,
1.36, 1.22, 0.77, 0.85, 1.22, 0.21, 1.81, 0.54, 1.33, 1.32, 2.5,
1.3, 1.1, 0.66, 0.84, 7.42, 1.21, 0.97, 2.25, 0.51, 0.53, 0.41,
3.14, 3.58, 2.41, 2.08, 3.2, 0.24, 0.34, 0.58, 0.54, 0.25, 0.39,
0.28, 0.19, 0.42, 0.39, 0.26, 0.16, 0.16, 0.16, 0.16, 1.76, 0.16,
0.48, 1.2, 0.44, 0.32, 0.34, 0.73, 3.32, 13.7, 1.35, 0.85, 0.66,
0.68, 0.53, 0.54, 0.49, 0.31, 0.4, 0.53, 0.55, 0.94, 0.74, 0.4,
0.44, 0.38, 0.43, 0.18, 0.16, 0.53, 0.54, 0.46, 0.29, 0.2, 0.18,
0.23, 0.52, 0.33, 0.3, 3.35, 2.56, 18.1, 14.9, 11.1, 8.47, 15.9
)), .Names = c("id", "date1", "value"), class = "data.frame", row.names = c(NA,
-95L))
str(dat1)
dat1$date1 <- mdy(dat1$date1) # using lubridate
str(dat1) # POSIXct object not date object as in your original code
ggplot(data=dat1) + geom_line(aes(x=date1, y=value, group=id, colour=
factor(id))) + facet_wrap(~id, scales = "free")
#####################################################
> -----Original Message-----
> From: david_lyon3 at yahoo.com
> Sent: Wed, 15 May 2013 05:49:18 -0700 (PDT)
> To: jrkrideau at inbox.com, r-help at r-project.org
> Subject: Re: [R] Help me please: gplot, facets_wrap and ordering of x
> axis dates
>
> Thanks John for your reply.
> I did include the data if you scroll down to the end of my original
> email.
>
> Can someone help me on this?
>
> Thanks
>
>
>
>
> ----- Original Message -----
> From: John Kane <jrkrideau at inbox.com>
> To: David Lyon <david_lyon3 at yahoo.com>; r-help <r-help at r-project.org>
> Cc:
> Sent: Tuesday, May 14, 2013 4:11 PM
> Subject: RE: [R] Help me please: gplot, facets_wrap and ordering of x
> axis
> dates
>
> Thank you for supplying the code. It would be easier to help you if we
> also had some data to work with. ?dput
>
> https://github.com/hadley/devtools/wiki/Reproducibility
>
> I think reorder() is likely to do the trick but I don't have enough time
> to mock up some data and check at the moment.
>
> Have a look at
> http://stackoverflow.com/questions/3744178/ggplot2-sorting-a-plot
>
> Good luck.
> John Kane
> Kingston ON Canada
>
>
>> -----Original Message-----
>> From: david_lyon3 at yahoo.com
>> Sent: Tue, 14 May 2013 12:59:07 -0700 (PDT)
>> To: r-help at r-project.org
>> Subject: [R] Help me please: gplot, facets_wrap and ordering of x axis
>> dates
>>
>> I have a text file of data as below and doing a ggplot line plot of all
>> the ids as separate mini line plots which works with the following code.
>>
>> Problem how do I order the dates for each id plot on the x axis so that
>> the dates are going from oldest to most recent????
>>
>>
>> Thanks in advance
>>
>> Dave
>>
>>
>>
>>
>>
>> CODE:
>>
>> a<-read.table("DATA",header=TRUE);
>> b<-a[order(as.Date(a$date, format="%m/%d/%Y")),]
>>
>> ggplot(data=b) + geom_line(aes(x=date, y=value, group=id, colour=
>> factor(id))) + facet_wrap(~id, scales = "free")
>>
>>
>>
>>
>>
>>
>> DATA:
>>
>>
>> id date value
>> 001 8/16/10 <0.16
>> 001 10/25/10 <0.16
>> 001 11/8/10 0.42
>> 001 11/22/10 0.81
>> 001 12/6/10 <0.16
>> 002 8/18/10 2.93
>> 002 10/25/10 2.4
>> 002 11/8/10 1.36
>> 002 11/22/10 1.22
>> 004 8/20/10 0.77
>> 004 10/25/10 0.85
>> 004 11/8/10 1.22
>> 004 11/22/10 0.21
>> 004 12/6/10 1.81
>> 004 10/26/11 0.54
>> 005 6/4/09 1.33
>> 005 6/18/10 1.32
>> 005 8/25/10 2.5
>> 005 9/15/10 1.3
>> 005 10/25/10 1.1
>> 005 11/8/10 0.66
>> 005 11/22/10 0.84
>> 005 12/6/10 7.42
>> 005 11/4/11 1.21
>> 006 9/23/10 0.97
>> 006 10/25/10 2.25
>> 006 11/8/10 0.51
>> 006 11/22/10 0.53
>> 006 12/6/10 0.41
>> 008 8/25/10 3.14
>> 008 10/25/10 3.58
>> 008 11/8/10 2.41
>> 008 12/6/10 2.08
>> 008 6/11/12 3.2
>> 009 10/6/10 0.24
>> 009 11/22/10 0.34
>> 009 2/2/11 0.58
>> 009 2/16/11 0.54
>> 009 3/2/11 0.25
>> 009 3/16/11 0.39
>> 010 9/14/10 0.28
>> 010 2/2/11 0.19
>> 010 2/16/11 0.42
>> 010 3/2/11 0.39
>> 010 3/16/11 0.26
>> 011 8/20/10 <0.16
>> 011 2/2/11 <0.16
>> 011 2/16/11 <0.16
>> 011 3/2/11 <0.16
>> 011 3/16/11 1.76
>> 011 10/26/11 <0.16
>> 012 12/14/10 0.48
>> 012 2/2/11 1.2
>> 012 2/16/11 0.44
>> 012 3/2/11 0.32
>> 012 3/16/11 0.34
>> 013 11/13/09 0.73
>> 013 8/19/10 3.32
>> 013 2/2/11 13.7
>> 014 2/6/13 1.35
>> 014 4/24/13 0.85
>> 014 8/18/10 0.66
>> 014 10/5/10 0.68
>> 014 10/27/10 0.53
>> 014 2/2/11 0.54
>> 014 2/16/11 0.49
>> 014 3/2/11 0.31
>> 014 3/16/11 0.4
>> 014 6/29/11 0.53
>> 014 8/15/11 0.55
>> 014 8/15/12 0.94
>> 014 10/31/12 0.74
>> 015 12/10/10 0.4
>> 015 2/2/11 0.44
>> 015 3/2/11 0.38
>> 015 3/16/11 0.43
>> 016 12/17/10 0.18
>> 016 1/25/11 <0.16
>> 016 2/2/11 0.53
>> 016 2/2/11 0.54
>> 016 2/16/11 0.46
>> 016 3/2/11 0.29
>> 016 3/16/11 0.2
>> 016 3/20/12 0.18
>> 016 3/26/12 0.23
>> 016 3/30/12 0.52
>> 016 4/2/12 0.33
>> 016 4/23/12 0.3
>> 017 11/17/11 3.35
>> 017 12/9/11 2.56
>> 018 2/25/13 18.1
>> 018 3/11/13 14.9
>> 018 3/25/13 11.1
>> 018 4/10/13 8.47
>> 018 4/22/13 15.9
>>
>>
>> ______________________________________________
>> 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.
>
> ____________________________________________________________
> FREE 3D EARTH SCREENSAVER - Watch the Earth right on your desktop!
> Check it out at http://www.inbox.com/earth
____________________________________________________________
GET FREE SMILEYS FOR YOUR IM & EMAIL - Learn more at http://www.inbox.com/smileys
Works with AIM®, MSN® Messenger, Yahoo!® Messenger, ICQ®, Google Talk™ and most webmails
More information about the R-help
mailing list