[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