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: fredo at aims.ac.za https://sites.google.com/a/aims.ac.za/fredo/ On Tue, Mar 31, 2015 at 9:24 AM, Jeff Newmiller <jdnewmil at 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:<jdnewmil at 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 <ntfredo at 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: fredo at aims.ac.za > >https://sites.google.com/a/aims.ac.za/fredo/ > > > >On Mon, Mar 30, 2015 at 5:34 PM, stephen sefick <ssefick at 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 > ><ntfredo at 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: fredo at aims.ac.za > >>> https://sites.google.com/a/aims.ac.za/fredo/ > >>> > >>> [[alternative HTML version deleted]] > >>> > >>> ______________________________________________ > >>> R-help at 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 > >> ************************************************** > >> sas0025 at 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 at 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. > >[[alternative HTML version deleted]]
By failing to take the advice given to you, you make it harder to help you. Learn to control your email program to send plain text, and learn to use the dput function. With regard to this function call:> ggplot(df2, aes(Date,value)) +I highly recommend using named parameters in the aes call. Also, if you want different values of "variable" to be plotted with different colors, you should map that column to the colour dimension: ggplot(df2, aes(x=Date,y=value,colour=variable)) + The "type" argument applies to base graphics rather than ggplot graphics, and you should never put fixed values inside the aes call. Since colour has already been taken care of, you can give no parameters in the geom_line call: geom_line() So all together then: ggplot(df2, aes(x=Date,y=value,colour=variable)) + geom_line() but I cannot test it because you have not followed my other advice. --------------------------------------------------------------------------- Jeff Newmiller The ..... ..... Go Live... DCN:<jdnewmil at 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 31, 2015 12:55:11 AM PDT, Frederic Ntirenganya <ntfredo at 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: fredo at aims.ac.za >https://sites.google.com/a/aims.ac.za/fredo/ > >On Tue, Mar 31, 2015 at 9:24 AM, Jeff Newmiller ><jdnewmil at 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:<jdnewmil at 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 ><ntfredo at 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: fredo at aims.ac.za >> >https://sites.google.com/a/aims.ac.za/fredo/ >> > >> >On Mon, Mar 30, 2015 at 5:34 PM, stephen sefick <ssefick at 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 >> ><ntfredo at 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: fredo at aims.ac.za >> >>> https://sites.google.com/a/aims.ac.za/fredo/ >> >>> >> >>> [[alternative HTML version deleted]] >> >>> >> >>> ______________________________________________ >> >>> R-help at 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 >> >> ************************************************** >> >> sas0025 at 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 at 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. >> >>
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 <ntfredo at 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: fredo at aims.ac.za > https://sites.google.com/a/aims.ac.za/fredo/ > > On Tue, Mar 31, 2015 at 9:24 AM, Jeff Newmiller <jdnewmil at 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:<jdnewmil at 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 < >> ntfredo at 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: fredo at aims.ac.za >> >https://sites.google.com/a/aims.ac.za/fredo/ >> > >> >On Mon, Mar 30, 2015 at 5:34 PM, stephen sefick <ssefick at 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 >> ><ntfredo at 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: fredo at aims.ac.za >> >>> https://sites.google.com/a/aims.ac.za/fredo/ >> >>> >> >>> [[alternative HTML version deleted]] >> >>> >> >>> ______________________________________________ >> >>> R-help at 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 >> >> ************************************************** >> >> sas0025 at 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 at 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 ************************************************** sas0025 at 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]]
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: fredo at aims.ac.za https://sites.google.com/a/aims.ac.za/fredo/ On Tue, Mar 31, 2015 at 4:20 PM, stephen sefick <ssefick at 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 <ntfredo at 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: fredo at aims.ac.za >> https://sites.google.com/a/aims.ac.za/fredo/ >> >> On Tue, Mar 31, 2015 at 9:24 AM, Jeff Newmiller <jdnewmil at 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:<jdnewmil at 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 < >>> ntfredo at 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: fredo at aims.ac.za >>> >https://sites.google.com/a/aims.ac.za/fredo/ >>> > >>> >On Mon, Mar 30, 2015 at 5:34 PM, stephen sefick <ssefick at 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 >>> ><ntfredo at 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: fredo at aims.ac.za >>> >>> https://sites.google.com/a/aims.ac.za/fredo/ >>> >>> >>> >>> [[alternative HTML version deleted]] >>> >>> >>> >>> ______________________________________________ >>> >>> R-help at 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 >>> >> ************************************************** >>> >> sas0025 at 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 at 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 > ************************************************** > sas0025 at 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]]
Hello everyone, I am having some troubles in calculating a kde surface from a datatable. The code is efficient in my opionion, but I have a problem on the output. After some modelling that is not relevant for the purpose of my question I obtain a data.table of around 15 million records (for half a year, I forecast around 50 millions for the entire year). The data.table is pretty simple, just lat and lon. Let's forget for a second the problems related to projection, and focus on the K(ernel)D(ensity)E(stimation). Do you have any suggestion on a library that could be able to cope with so many points? I know I could calculate the density in different ways and through different platforms, however, I would like to stick to R as it is commonly diffused in research. I also know that probably subsetting the dataset is a wise choice... Thanks. -- *MAURIZIO GIBIN ** *Scientific/Technical Project Officer * **European Commission** *Joint Research Centre Institute for the Protection and Security of the Citizen (IPSC) Maritime Affairs Unit* *TP05A Via Enrico Fermi 2749* *I-21027 Ispra (VA)* *+39 0332 786770* maurizio.gibin at jrc.ec.europa.eu* *** **<mailto:maurizio.gibin at jrc.ec.europa.eu> *