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
______________________________________________
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.