[R] Merging daily and weekly data

Gabor Grothendieck ggrothendieck at gmail.com
Mon Apr 14 13:21:38 CEST 2008


On Mon, Apr 14, 2008 at 6:09 AM, Øystein Myrland
<Oystein.Myrland at nfh.uit.no> wrote:
> Dear R-help group,
>
> I have a dataset with daily closing prices from a stock exchange (consecutive 5 trading days) from a firm trading a specific commodity. The date variable looks like:
>
> quote_date
> 20080411
>
> With the format; yyyymmdd.
>
> Moreover, I have another data set with a (average) weekly price of the underlying commodity. The date variables in this dataset are only year and a week number.
>
> I would like to calculate a common date number or ID based on week number that enables me to merge these two datasets, so that it looks like this:
>
> quote_date      year    week    week.price
> 20080407        2008    15      27.45
> 20080408        2008    15      27.45
> 20080409        2008    15      27.45
> 20080410        2008    15      27.45
> 20080411        2008    15      27.45
>


> library(zoo)
> library(xts)
>
> Lines.daily <- "quote_date      value
+ 20080407        1
+ 20080408        2
+ 20080409        3
+ 20080410        4
+ 20080411        6
+ 20080412        7
+ 20080413        8
+ 20080414        9
+ 20080415       10
+ "
> daily <- read.zoo(textConnection(Lines.daily),
+   header = TRUE, format = "%Y%m%d")
>
> Lines.weekly <- "quote_date value
+ 20080413 10
+ "
> weekly <- read.zoo(textConnection(Lines.weekly),
+   header = TRUE, format = "%Y%m%d")
>
> merge(to.weekly(daily), weekly)
           daily.Open daily.High daily.Low daily.Close weekly
2008-04-13          1          8         1           8     10
2008-04-15          9         10         9          10     NA

See ?to.weekly in xts package and the three zoo
vignettes.

Also see ?aggregate.zoo
and the R Help Desk article in R News 4/1
for another approach.

vignette(package = "zoo")



More information about the R-help mailing list