[R] Problem on plotting TS using GGPLOT

Gabor Grothendieck ggrothendieck at gmail.com
Fri Sep 25 16:12:07 CEST 2009


Once you have reduced it to a data frame as already discussed, its
just a ggplot2 problem so you can take it to the ggplot2 group:
http://groups.google.com/group/ggplot2

On Fri, Sep 25, 2009 at 9:58 AM, Bogaso <bogaso.christofer at gmail.com> wrote:
>
> Thanks Gabor for your input. However I know there is option in "zoo" to plot
> multiple time series. However I want to go with ggplot2 because it looks
> better. If anyone point me where is the problem in my ggplot2 code, I would
> be truly grateful.
>
> Thanks,
>
>
>
> Gabor Grothendieck wrote:
>>
>> First get the correct representation which here would be a multivariate
>> zoo series with 51 time points and 6 components series and then plot it
>> using zoo's plot function:
>>
>> z <- zoo(matrix(dat, 51), time(dat2))
>>
>> # all in one panel
>> plot(z, pch = letters[1:6], screen = 1, type = "b", col = 1:6)
>>
>> # or in separate panels (same but omit screen = 1)
>> plot(z, pch = letters[1:6], type = "b", col = 1:6)
>>
>> There are many examples of plotting zoo series in the 3 vignettes that
>> come with zoo and also in ?plot.zoo and ?xyplot.zoo
>>
>> If you wish to use ggplot2 you can extract the data and times
>> into a new data frame and use that data frame for further computation.
>>
>> DF <- cbind(tt = time(z), as.data.frame(z))
>>
>>
>> On Fri, Sep 25, 2009 at 9:32 AM, Bogaso <bogaso.christofer at gmail.com>
>> wrote:
>>>
>>> Thanks for this reply. Here my goal is to plot multiple time series in
>>> the
>>> same plotting window. Here y variable has 306 elements, however each
>>> value
>>> is associated with factor which is represented by "vv" variable.
>>>
>>>  I want to plot total 6 time series, for example 1st 51 values of y,
>>> represented by "a" should be treated as single TS, with index as index of
>>> "dat2".....................similarly 2nd 51 values of y, represented by
>>> "b"
>>> should be treated as another single TS, with index as index of
>>> "dat2"...........and so on.
>>>
>>> What is the problem here?
>>>
>>> Thanks,
>>>
>>>
>>>
>>> ONKELINX, Thierry wrote:
>>>>
>>>>
>>>> You are mixing data from two datasets with different lengths. Your x
>>>> variable has 51 elements, while the y variable has 306 elements? What
>>>> did you expect to happen with that?
>>>>
>>>> Use only one dataset within a geom(). Otherwise you are likely the get
>>>> in troubles.
>>>>
>>>> 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 bogaso.christofer
>>>> Verzonden: vrijdag 25 september 2009 14:47
>>>> Aan: R-help at stat.math.ethz.ch
>>>> Onderwerp: [R] Problem on plotting TS using GGPLOT
>>>>
>>>> Hi, I have following codes :
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> library(zoo); library(ggplot2); library(plyr)
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> dat <- rnorm(306); vv <- letters[1:6]; dat1 <- data.frame(dat, vv)
>>>>
>>>> dat2 = zooreg(rnorm(51), as.yearmon(as.Date("2000-01-01")),
>>>> frequency=12)
>>>>
>>>>
>>>>
>>>> ggplot(dat1) +
>>>>
>>>>             geom_line(aes(y=dat, x=index(dat2), colour=vv), group=vv,
>>>> size =
>>>> 1.3)
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> However I got error while plotting them :
>>>>
>>>> Error in data.frame(x = c(2000, 2000.08333333333, 2000.16666666667,
>>>> 2000.25,
>>>> :
>>>>
>>>>   arguments imply differing number of rows: 51, 306
>>>>
>>>>
>>>>
>>>> I could not find why that error is coming. Any idea please ?
>>>>
>>>>
>>>>
>>>> Thanks,
>>>>
>>>>
>>>>       [[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.
>>>>
>>>> Druk dit bericht a.u.b. niet onnodig af.
>>>> Please do not print this message unnecessarily.
>>>>
>>>> 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.
>>>>
>>>> ______________________________________________
>>>> 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.
>>>>
>>>>
>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/Problem-on-plotting-TS-using-GGPLOT-tp25611332p25612219.html
>>> Sent from the R help mailing list archive at Nabble.com.
>>>
>>> ______________________________________________
>>> 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.
>>
>>
>
> --
> View this message in context: http://www.nabble.com/Problem-on-plotting-TS-using-GGPLOT-tp25611332p25612613.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> 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