[R] Managing a list with a list
abunn at mymail.msu.montana.edu
Mon Sep 22 22:41:28 CEST 2003
OK. Another amateur question.
I have a list with attributes on pine trees, like the stem's location, a logical value set to T if it's alive, some parameters for growth, diameter, etc. The tree list has another list in it which is a new data type for me.
I want to make a new list that retains all the live trees.
That is where Living == T.
Here's the summary of the list:
Length Class Mode
id 10 -none- numeric
x 10 -none- numeric
y 10 -none- numeric
A 10 -none- numeric
NegB 10 -none- numeric
K 10 -none- numeric
Age 10 -none- numeric
DBH 10 -none- numeric
Living 10 -none- logical
pSeed 10 -none- list
TCI 10 -none- numeric
STA 10 -none- numeric
Here are the living trees.
 FALSE TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE TRUE
So, here are the ids of the trees I want to retain.
> tf$id[tf$Living == T]
 2 3 4 5 6 7 9 10
Same with the easting coordinates.
> tf$x[tf$Living == T] #tf[][tf$Living == T]
 28 35 18 34 36 92 3 47
But when I try to keep the whole list minus the dead trees it returns a list with all the trees living and dead (as I'm sure it is supposed to):
tf[tf$Living == T]
What am I doing wrong? I'm happy to RTFM, but if the manual in question is section 3.4 of R-lang then I'm still going to need help. I can break it all apart and then concatonate a new list but that seems heavy handed.
More information about the R-help