On Tue, 22 Jun 2010, Research wrote:
Hello,
I have a zoo time series read from an excel file which has some dates the
same, such as the following example:
02/10/1995 4925.5
30/10/1995 4915.9
23/01/1996 4963.5
23/01/1996 5009.2
04/03/1996 5031.9 # here
04/03/1996 5006.5 # here
03/04/1996 5069.2
03/05/1996 5103.7
31/05/1996 5107.1
01/07/1996 5153.1
02/08/1996 5151.7
Is there a simple way to keep the last price of the ones that have the same
dates?
04/03/1996 5031.9
04/03/1996 5006.5
i.e., keep only the "04/03/1996 5006.5" price and discard the previous
one... Is there an implicit function that does that or do I need some sort of
recursive algorithm?
No, it's very simple and covered as the #1 item in the zoo FAQ:
vignette("zoo-faq", package = "zoo")
You can try a solution on this example (for convenience):
x.Date <- as.Date("2003-02-01") + c(1, 3, 7, 7, 14) - 1
x <- zoo(rnorm(5), x.Date)
You can use aggregate() to remove the duplicates: For example
aggregate(x, time(x), mean)
would use the mean price for each Date.
If you want to compute the last observation, the function tail(..., 1) can
be utilized:
aggregate(x, time(x), tail, 1)
Best,
Z
Zoo object has 2 prices with same dates.
Many thanks in advance,
Costas
______________________________________________
R-help@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@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.