[R] Creating zoo object on monthly time series

Gabor Grothendieck ggrothendieck at gmail.com
Sun Jun 1 15:54:43 CEST 2008


Also here is an example showing it works with the assumed
format and zoo version:

> data1 <- structure(list(V1 = structure(c(6L, 2L, 4L, 3L, 5L, 1L), .Label = c("Apr-81",
+ "Dec-80", "Feb-81", "Jan-81", "Mar-81", "Nov-80"), class = "factor"),
+     V2 = c(NA, NA, NA, NA, NA, NA), V3 = c(1007.44, 982.05, 994.25,
+     996.31, 939.91, 923.32)), .Names = c("V1", "V2", "V3"), class =
"data.frame", row.names = c("1",
+ "2", "3", "4", "5", "6"))

> data1
      V1 V2      V3
1 Nov-80 NA 1007.44
2 Dec-80 NA  982.05
3 Jan-81 NA  994.25
4 Feb-81 NA  996.31
5 Mar-81 NA  939.91
6 Apr-81 NA  923.32

> zoo(data1[,3], as.yearmon(data1[,1], "%b-%y"))
Nov 1980 Dec 1980 Jan 1981 Feb 1981 Mar 1981 Apr 1981
 1007.44   982.05   994.25   996.31   939.91   923.32

> zoo(data1[,3], as.Date(as.yearmon(data1[,1], "%b-%y")))
1980-11-01 1980-12-01 1981-01-01 1981-02-01 1981-03-01 1981-04-01
   1007.44     982.05     994.25     996.31     939.91     923.32

> packageDescription("zoo")$Version
[1] "1.5-3"


On Sun, Jun 1, 2008 at 9:44 AM, Gabor Grothendieck
<ggrothendieck at gmail.com> wrote:
> You need to unambiguously specify what your data
> looks like.  Please provide the dput output as previously
> requested.  Also what version of zoo are you using?
>
> packageDescription("zoo")$Version
>
>
> On Sun, Jun 1, 2008 at 9:37 AM, Megh Dal <megh700004 at yahoo.com> wrote:
>> I got following:
>>
>>> z <- zoo(data1[,3], as.yearmon(data1[,1], "%b-%y"))
>>> head(z)
>> Jan 0001 Jan 0002 Jan 0003 Jan 0004 Jan 0005 Jan 0006
>>  1206.68   782.45  1187.00  1398.77  1883.23  1431.80
>>
>>> z <- zoo(data1[,3], as.Date(as.yearmon(data1[,1], "%b-%y")))
>>> head(z)
>> 0001-01-01 0002-01-01 0003-01-01 0004-01-01 0005-01-01 0006-01-01
>>    1206.68     782.45    1187.00    1398.77    1883.23    1431.80
>>
>> Nowhere 1980 is coming. Any better suggestion?
>>
>> Gabor Grothendieck <ggrothendieck at gmail.com> wrote:
>>
>> On Sun, Jun 1, 2008 at 8:47 AM, Gabor Grothendieck
>> wrote:
>>> On Sun, Jun 1, 2008 at 8:35 AM, Megh Dal wrote:
>>>> Hi all,
>>>>
>>>> I have following monthly time series :
>>>>
>>>>> head(data1)
>>>> V1 V2 V3
>>>> 1 Nov-80 NA 1007.44
>>>> 2 Dec-80 NA 982.05
>>>> 3 Jan-81 NA 994.25
>>>> 4 Feb-81 NA 996.31
>>>> 5 Mar-81 NA 939.91
>>>> 6 Apr-81 NA 923.32
>>>
>>> If the suggestion below does not work then try
>>> dput(head(data1)) to display it in an unambiguous form that is
>>> readily re-input into R.
>>>
>>>>
>>>> Now I want to convert it to a 'zoo' object. I wrote following syntax :
>>>>
>>>> ss = zoo(data1[,3], as.Date(data1[,1], format="%m/%y"))
>>>>
>>>
>>> See ?strptime and try "%b-%y"
>>
>> That should be:
>>
>> z <- zoo(data1[,3], as.yearmon(data1[,1], "%b-%y"))
>>
>> or, if you want it as Date instead of yearmon:
>>
>> z <- zoo(data1[,3], as.Date(as.yearmon(data1[,1], "%b-%y")))
>>
>>>
>>>> However I got following :
>>>>> head(ss)
>>>>
>>>> 1007.44 982.05 994.25 996.31 939.91 923.32
>>>>
>>>>
>>>> Can anyone please tell me what will be the correct syntax?
>>>>
>>>> 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.
>>>>
>>>
>>
>>
>



More information about the R-help mailing list