Thanks David, You comment made me realise that whereas when x is a data frame, x$a is a numeric vector, when x is of class zoo, x$a is also of class zoo, so the following does what I was expecting:
x$a/as.numeric(x$a[1]) Sean. On Sun, May 16, 2010 at 9:25 PM, David Winsemius <dwinsem...@comcast.net>wrote: > > On May 16, 2010, at 2:00 AM, Sean Carmody wrote: > > I am a bit confused about the different approaches taken to recycling in >> plain data frames and zoo objects. When carrying out simple arithmetic, >> dataframe seem to recycle single arguments, zoo objects do not. Here is an >> example >> >> x <- data.frame(a=1:5*2, b=1:5*3) >>> x >>> >> a b >> 1 2 3 >> 2 4 6 >> 3 6 9 >> 4 8 12 >> 5 10 15 >> >>> x$a/x$a[1] >>> >> [1] 1 2 3 4 5 >> >>> x <- zoo(x) >>> x$a/x$a[1] >>> >> 1 >> 1 >> >>> >>> >> I feel understanding this difference would lead me to a greater >> understanding of the zoo module! >> > > I think you do have misunderstandings about the zoo package but I do not > think it is in the area of vector recycling. Notice the effect of your > application of the zoo function to x: > > > x$a > > 1 2 3 4 5 > 2 4 6 8 10 > > x$a[1] > 1 > 2 > > You have in effect transposed the elements in x and are now getting a two > element column vector when requesting x$a[1]. The term vector recycling is > applied to situations where short vectors are reused starting with their > first elements until the necessary length is achieved. For instance if you > request: > > > data.frame(x=1:2, y=letters[1:10]) > x y > 1 1 a > 2 2 b > 3 1 c > 4 2 d > 5 1 e > 6 2 f > 7 1 g > 8 2 h > 9 1 i > 10 2 j > > Or plot(1:10, col=c("red","green")) > > >> Sean. >> >> -- >> Sean Carmody >> > > > -- Sean Carmody Twitter: http://twitter.com/seancarmody Stable: http://mulestable.net/sean The Stubborn Mule Blog: http://www.stubbornmule.net Forum: http://mulestable.net/ [[alternative HTML version deleted]] ______________________________________________ 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.