Hi All, Thanks for the help. I want to plot some of the columns on the same graph not all of them. Sorry, I failed to follow the instructions. Here is the output of *dput()* but I don't know how it works.
> dput(head(data))structure(list(Date = structure(c(-6575, -6209, -5844, -5479, -5114, -4748), class = "Date"), Number.of.Rain.Days = c(86L, 96L, 114L, 119L, 123L, 124L), Total.rain = c(1139.952, 977.646, 1382.014, 1323.086, 1266.444, 1235.964), Start.of.Rain..i. = c(92L, 98L, 92L, 100L, 92L, 92L), Start.of.Rain..ii. = c(239L, 98L, 92L, 100L, 92L, 92L), Start.of.Rain..iii. = c(112L, 112L, 120L, 125L, 119L, 112L), Start.Rain..iv. = c(112L, 112L, 120L, 174L, 119L, 112L), End.of.Rain.Season = c(228L, 229L, 240L, 228L, 228L, 228L)), .Names = c("Date", "Number.of.Rain.Days", "Total.rain", "Start.of.Rain..i.", "Start.of.Rain..ii.", "Start.of.Rain..iii.", "Start.Rain..iv.", "End.of.Rain.Season"), row.names = c(NA, 6L ), class = "data.frame") I think I need subset function then melt. Here is the approach I used: d <- subset(df1, select=c(Date,Start.of.Rain..i.,Start.of.Rain..ii.,Start.of.Rain..iii.)) d d2 <- melt(d , id = 'Date', variable_name = 'Start') ggplot(d2, aes(Date,value)) + geom_line(aes(colour = start),type = "h") but the error is: Don't know how to automatically pick scale for object of type function. Defaulting to continuousError in data.frame(colour = function (x, ...) : arguments imply differing number of rows: 0, 183 Thanks, Frederic. Frederic Ntirenganya Maseno University, African Maths Initiative, Kenya. Mobile:(+254)718492836 Email: fr...@aims.ac.za https://sites.google.com/a/aims.ac.za/fredo/ On Tue, Mar 31, 2015 at 4:20 PM, stephen sefick <ssef...@gmail.com> wrote: > Your data and post is still not provided in one of the formats provided > here: > http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example. > I am unsure of what you want to do, but I have made a reproducible example > that might help. > > zz <- "Date Number.of.Rain.Days Total.rain Start.of.Rain..i. > Start.of.Rain..ii. Start.of.Rain..iii. > 1952-01-01 86 1139.952 92 > 239 11 > 1953-01-01 96 977.646 98 > 98 11 > 1954-01-01 114 1382.014 92 > 92 12 > 1955-01-01 119 1323.086 100 > 100 12 > 1956-01-01 123 1266.444 92 > 92 11 > 1957-01-01 124 1235.964 92 > 92 11" > > library(reshape) > library(ggplot2) > > Data <- read.table(text=zz, header = TRUE) > > df1 <-data.frame(Data) > > df2 <- melt(df1 , id = c('Date', 'Number.of.Rain.Days')) > > df3 <- df2[-grep("Total.rain", df2$variable),] > > qplot(Date,value, data=df3) +facet_wrap(~variable) > > On Tue, Mar 31, 2015 at 2:55 AM, Frederic Ntirenganya <ntfr...@gmail.com> > wrote: > >> Hi All, >> >> Sorry for the shape of data which was not good enough.This is how my data >> look like. >> >> I want to plot multiple using ggplot function from a data frame of many >> columns. I want to plot only Start.of.Rain..i., Start.of.Rain..ii. and >> Start.of.Rain..iii. and I failed to make it. What I want is to compare >> Start.of.Rain..i., Start.of.Rain..ii. and Start.of.Rain..iii. by plotting >> vertical line. I also need to add points to the plot to be able to separate >> them. The x-axis must be date column. Thanks! >> >> Here is how the data look like and how I tried to make it. >> >> >> >> Date Number.of.Rain.Days Total.rain Start.of.Rain..i. Start.of.Rain..ii. >> Start.of.Rain..iii. 1952-01-01 86 1139.952 92 239 11 1953-01-01 96 977.646 >> 98 98 11 1954-01-01 114 1382.014 92 92 12 1955-01-01 119 1323.086 100 100 >> 12 1956-01-01 123 1266.444 92 92 11 1957-01-01 124 1235.964 92 92 11 >> >> >> Here is how I tried to solve the problem. >> >> df1 <-data.frame(data) >> df1 >> df2 <- melt(df1 , id = 'Date', variable_name = 'start of Rains') >> df2 >> >> ggplot(df2, aes(Date,value)) + geom_line(aes(colour ="red"),type = "h") >> >> Kindly any help is welcome. Thanks >> >> Regards, >> Frederic. >> >> Frederic Ntirenganya >> Maseno University, >> African Maths Initiative, >> Kenya. >> Mobile:(+254)718492836 >> Email: fr...@aims.ac.za >> https://sites.google.com/a/aims.ac.za/fredo/ >> >> On Tue, Mar 31, 2015 at 9:24 AM, Jeff Newmiller <jdnew...@dcn.davis.ca.us >> > wrote: >> >>> This is no better because (a) you are still posting using HTML format, >>> and (b) using printed output loses the internal representation of the data. >>> The dput function is very helpful for solving this. [1] >>> >>> [1] >>> http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example >>> >>> --------------------------------------------------------------------------- >>> Jeff Newmiller The ..... ..... Go >>> Live... >>> DCN:<jdnew...@dcn.davis.ca.us> Basics: ##.#. ##.#. Live >>> Go... >>> Live: OO#.. Dead: OO#.. Playing >>> Research Engineer (Solar/Batteries O.O#. #.O#. with >>> /Software/Embedded Controllers) .OO#. .OO#. >>> rocks...1k >>> >>> --------------------------------------------------------------------------- >>> Sent from my phone. Please excuse my brevity. >>> >>> On March 30, 2015 10:56:48 PM PDT, Frederic Ntirenganya < >>> ntfr...@gmail.com> wrote: >>> >Hi Stephen, >>> > >>> >Sorry, the data came in bad way. >>> >Here is the head of the data. >>> > >>> >> head(data) Date Number.of.Rain.Days Total.rain >>> >Start.of.Rain..i. Start.of.Rain..ii. Start.of.Rain..iii. >>> >Start.Rain..iv. >>> >1 1952-01-01 86 1139.952 92 >>> > 239 112 112 >>> >2 1953-01-01 96 977.646 98 >>> > 98 112 112 >>> >3 1954-01-01 114 1382.014 92 >>> > 92 120 120 >>> >4 1955-01-01 119 1323.086 100 >>> > 100 125 174 >>> >5 1956-01-01 123 1266.444 92 >>> > 92 119 119 >>> >6 1957-01-01 124 1235.964 92 >>> > 92 112 112 >>> > >>> > >>> > >>> >Frederic Ntirenganya >>> >Maseno University, >>> >African Maths Initiative, >>> >Kenya. >>> >Mobile:(+254)718492836 >>> >Email: fr...@aims.ac.za >>> >https://sites.google.com/a/aims.ac.za/fredo/ >>> > >>> >On Mon, Mar 30, 2015 at 5:34 PM, stephen sefick <ssef...@gmail.com> >>> >wrote: >>> > >>> >> Hi Frederic, >>> >> >>> >> Can you provide a minimal reproducible example including either real >>> >data >>> >> (dput), or simulated data that mimics your situation? This will allow >>> >more >>> >> people to help. >>> >> >>> >> Stephen >>> >> >>> >> On Mon, Mar 30, 2015 at 8:39 AM, Frederic Ntirenganya >>> ><ntfr...@gmail.com> >>> >> wrote: >>> >> >>> >>> Dear All, >>> >>> >>> >>> I want to plot multiple using ggplot function from a data frame of >>> >>> many columns. I want to plot only str1, str2 and str3 and I failed >>> >to >>> >>> make it. What I want is to compare str1, str2 and str3 by plotting >>> >>> vertical line. I also need to add points to the plot to be able to >>> >>> separate them. >>> >>> >>> >>> >>> >>> Here is how the data look like and how I tried to make it. >>> >>> >>> >>> Date NumberofRaindays TotalRains str1 str2 str3 1/1/1952 86 1360.5 >>> >92 120 >>> >>> 112 1/1/1953 96 1100 98 100 110 >>> >>> ... .... >>> >>> .... ... .... .... >>> >>> >>> >>> df1 <-data.frame(data) >>> >>> df1 >>> >>> df2 <- melt(df1 , id = 'Date', variable_name = 'start of Rains') >>> >>> df2 >>> >>> >>> >>> ggplot(df2, aes(Date,value)) + geom_line(aes(colour ="red"),type = >>> >"h") >>> >>> >>> >>> Kindly any help is welcome. Thanks >>> >>> >>> >>> Regards, >>> >>> Frederic. >>> >>> >>> >>> Frederic Ntirenganya >>> >>> Maseno University, >>> >>> African Maths Initiative, >>> >>> Kenya. >>> >>> Mobile:(+254)718492836 >>> >>> Email: fr...@aims.ac.za >>> >>> https://sites.google.com/a/aims.ac.za/fredo/ >>> >>> >>> >>> [[alternative HTML version deleted]] >>> >>> >>> >>> ______________________________________________ >>> >>> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >>> >>> 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. >>> >>> >>> >> >>> >> >>> >> >>> >> -- >>> >> Stephen Sefick >>> >> ************************************************** >>> >> Auburn University >>> >> Biological Sciences >>> >> 331 Funchess Hall >>> >> Auburn, Alabama >>> >> 36849 >>> >> ************************************************** >>> >> sas0...@auburn.edu >>> >> http://www.auburn.edu/~sas0025 >>> >> ************************************************** >>> >> >>> >> Let's not spend our time and resources thinking about things that are >>> >so >>> >> little or so large that all they really do for us is puff us up and >>> >make us >>> >> feel like gods. We are mammals, and have not exhausted the annoying >>> >little >>> >> problems of being mammals. >>> >> >>> >> -K. Mullis >>> >> >>> >> "A big computer, a complex algorithm and a long time does not equal >>> >> science." >>> >> >>> >> -Robert Gentleman >>> >> >>> >> >>> > >>> > [[alternative HTML version deleted]] >>> > >>> >______________________________________________ >>> >R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >>> >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. >>> >>> >> > > > -- > Stephen Sefick > ************************************************** > Auburn University > Biological Sciences > 331 Funchess Hall > Auburn, Alabama > 36849 > ************************************************** > sas0...@auburn.edu > http://www.auburn.edu/~sas0025 > ************************************************** > > Let's not spend our time and resources thinking about things that are so > little or so large that all they really do for us is puff us up and make us > feel like gods. We are mammals, and have not exhausted the annoying little > problems of being mammals. > > -K. Mullis > > "A big computer, a complex algorithm and a long time does not equal > science." > > -Robert Gentleman > > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.