[R] A zoo question / problem
david.jessop at ubs.com
david.jessop at ubs.com
Mon Aug 11 11:59:55 CEST 2008
Hi
I'm having a problem using the zoo library and I can't see what I'm
doing wrong. For example setting up the data
> t1 = zoo (matrix (1:12, nrow = 3), order.by = as.Date
(c("2008-08-01","2008-08-02","2008-08-03")))
> colnames (t1) = c ("A", "B", "C", "D")
> t2 = zoo (matrix (1:12, nrow = 3), order.by = as.Date
(c("2008-08-02","2008-08-03","2008-08-04")))
> colnames (t2) = c ("B", "C", "D", "E")
> both.dates = as.Date (intersect (index (t1), index (t2)))
> both.cols = intersect (colnames (t1), colnames (t2))
Then calling
> t1 [both.dates, both.cols]
gives the expected
B C D
2008-08-02 5 8 11
2008-08-03 6 9 12
And
> t2 [both.dates, both.cols]
gives
B C D
2008-08-02 1 4 7
2008-08-03 2 5 8
But
> t1 [both.dates, both.cols] <- t2 [both.dates, both.cols]
gives
Error in t1[both.dates, both.cols] <- t2[both.dates, both.cols] :
subscript out of bounds
I've tried various varieties of as.matrix, coredata but always get this
error. It's something to do with the first part of the expression as
> t1 [as.Date (both.dates), both.cols] = matrix (1, nrow = 2, ncol = 3)
Error in t1[as.Date(both.dates), both.cols] = matrix(1, nrow = 2, ncol =
3) :
subscript out of bounds
So I'm stuck. I'm running on Windows with R version 2.7.0
Regards,
David
Issued by UBS AG or affiliates to professional investors for
information only and its accuracy/completeness is not guaranteed.
All opinions may change without notice and may differ to
opinions/recommendations expressed by other business areas of UBS.
UBS may maintain long/short positions and trade in instruments
referred to. Unless stated otherwise, this is not a personal
recommendation, offer or solicitation to buy/sell and any
prices/quotations are indicative only. UBS may provide investment
banking and other services to, and/or its employees may be directors
of, companies referred to. To the extent permitted by law, UBS does
not accept any liability arising from the use of this communication.
© UBS 2008. All rights reserved. Intended for recipient only
and not for further distribution without the consent of UBS.
UBS Limited is a company registered in England & Wales under company
number 2035362, whose registered office is at 1 Finsbury Avenue,
London, EC2M 2PP, United Kingdom.
UBS AG (London Branch) is registered as a branch of a foreign company
under number BR004507, whose registered office is at
1 Finsbury Avenue, London, EC2M 2PP, United Kingdom.
UBS Clearing and Execution Services Limited is a company registered
in England & Wales under company number 03123037, whose registered
office is at 1 Finsbury Avenue, London, EC2M 2PP, United Kingdom.
More information about the R-help
mailing list