[R] convert weekly time series data to monthly

Gabor Grothendieck ggrothendieck at gmail.com
Sun Mar 30 18:01:18 CEST 2008


Do you mean merge them into a two column series of price
for one column and change for another column?  That is what
I will assume since the result was not illustrated.

Suggest you read the help files and the three
vignettes in the zoo package.

Also R News 4/1 has info on dates.

If you were looking for OHLC representations then see
the xts package which in turn uses zoo and read its
documentation in addition to the above.


library(zoo) # ensure you are using zoo 1.5.0 or later
price.Lines <- "Year   month   day     price
1990    8       20      119.1
1990    8       27      124.5
1990    9       3       124.2
1990    9       10      125.2
1990    9       17      126.6
1990    9       24      127.2
1990    10      1       132.1
1990    10      8       133.3
1990    10      15      133.9
1990    10      22      134.5
1990    10      29      133.9
2008    3       3       313.7
2008    3       10      320
2008    3       17      325.7
2008    3       24      322.4
"
price.DF <- read.table(textConnection(price.Lines), header = TRUE)
price <- with(price.DF,
    zoo(price, as.Date(paste(Year, month, day, sep = "-"))))

change.Lines <- "M-Y             Year    Month   Change
Aug-1990        1990    8       -226.871
Sep-1990        1990    9       -896.333
Oct-1990        1990    10      111.419
Nov-1990        1990    11      -364.2
Dec-1990        1990    12      -527.645
Jan-1991        1991    1       -70.935
Feb-1991        1991    2       231.214
Mar-1991        1991    3       -239
"
change <- read.zoo(textConnection(change.Lines), header = TRUE,
    FUN = as.yearmon, format = "%b-%Y",
    colClasses = c("character", "NULL", "NULL", "numeric"))

# convert change series to Date using last of month as the date
time(change) <- as.Date(time(change), frac = 1)

merge(price, change)


On Sun, Mar 30, 2008 at 11:24 AM, Richard Saba <sabaric at auburn.edu> wrote:
>
> I have weekly time series data with year, month, day, and price variables.
> The input data set for the weekly series takes the following form:
>
>  Year   month   day     price
> 1990    8       20      119.1
> 1990    8       27      124.5
> 1990    9       3       124.2
> 1990    9       10      125.2
> 1990    9       17      126.6
> 1990    9       24      127.2
> 1990    10      1       132.1
> 1990    10      8       133.3
> 1990    10      15      133.9
> 1990    10      22      134.5
> 1990    10      29      133.9
> ..      ...     ...     ...
> ...     ...     ....    ....
> 2008    3       3       313.7
> 2008    3       10      320
> 2008    3       17      325.7
> 2008    3       24      322.4
>
>
> I would like to collapse the data into monthly averages to merge with a
> monthly series. The input data set for the monthly series takes the
> following form:
>
> M-Y             Year    Month   Change
> Aug-1990        1990    8       -226.871
> Sep-1990        1990    9       -896.333
> Oct-1990        1990    10      111.419
> Nov-1990        1990    11      -364.2
> Dec-1990        1990    12      -527.645
> Jan-1991        1991    1       -70.935
> Feb-1991        1991    2       231.214
> Mar-1991        1991    3       -239
>
> ...     ...     .....   ..      ....
>
>
> The merged data set should be of class(ts).
> I can perform the conversions outside of R  and then import but I would
> rather perform all conversions within R. I have looked through the zoo and
> Rmetrics packages but without success.
>
> Any help will be appreciated.
> Thanks,
>
> Richard Saba
> Department of Economics
> Auburn University
> Email:  sabaric at auburn.edu
> Phone:  334 844-2922
>
> ______________________________________________
> 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