[R] Managing a list with a list
Uwe Ligges
ligges at statistik.uni-dortmund.de
Tue Sep 23 08:36:31 CEST 2003
abunn at mymail.msu.montana.edu wrote:
> 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:
>
>
>>summary(tf)
>
> 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.
>
>
>>tf$Living
>
> [1] 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]
lapply(tf, "[", tf$Living)
selects (by indexing with []) those elements from each element of tf,
where tf$Living is TRUE.
Uwe Ligges
> [1] 2 3 4 5 6 7 9 10
>
> Same with the easting coordinates.
>
>
>>tf$x[tf$Living == T] #tf[[2]][tf$Living == T]
>
> [1] 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.
>
> Thanks, Andy
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-help
More information about the R-help
mailing list