Skip to content

how to slice a zoo object

4 messages · Gabor Grothendieck, Blair Sutton

#
Hi

Would anyone have any pointers on how to slice up a large zoo table. I
have the following structure: -
?zoo [1:632, 1:83] 30.4 30.4 30.4 30.4 30.3 ...
?- attr(*, "dimnames")=List of 2
??..$ : NULL
??..$ : chr [1:83] "COL1" "COL2" "COL3" "COL4" ...
?- attr(*, "index")= POSIXct[1:632], format: "2009-05-01 01:00:00"
"2009-05-02 01:00:00" ...

and I would just like to take only arbitrary columns, i.e. another zoo
object with only the columns "COL2", "COL5", etc..

I've tried various syntactical combinations such as those for
data.frames and also tried manipulating the coredata(). What would be
nice would be the ability to do this by column names and not their
indexes.

Any help appreciated and thanks in advance,
Blair
#
I've solved my own problem using ZOO_OBJ[,"COL2", "COL5"]. The trick
was preceding the list of names with a comma as described in the
standard ts document.
On Mon, Jan 24, 2011 at 9:51 AM, Blair Sutton <blairuk at gmail.com> wrote:
#
On Mon, Jan 24, 2011 at 4:51 AM, Blair Sutton <blairuk at gmail.com> wrote:
It works the same as matrices:
A  C
1 1  9
2 2 10
3 3 11
#
My previous post had a typo. So as not to confuse future readers of
the list it should have read  ZOO_OBJ[,cbind("COL2", "COL5")].

Thanks Gabor.
On Mon, Jan 24, 2011 at 10:54 AM, Blair Sutton <blairuk at gmail.com> wrote: