On May 25, 2011, at 3:25 PM, Seth W Bigelow wrote:
I have a list that is made of lists of varying length. I wish to
create a
new vector that contains the last element of each list. So far I
have used
sapply to determine the length of each list, but I'm stymied at the
part
where I index the list to make a new vector containing only the last
item
of each list
mylist = list(c(1,2,3),c("cat","dog"),c("x","y","z","zz")) #
Create
list
last <- sapply(mylist,length) # Make vector with list lengths
last_only <- mylist[[1:length(mylist)]][last] # Crash and burn
trying to
make new vector with last items!
How do I do this last step?
> lapply(mylist, tail, 1)
[[1]]
[1] 3
[[2]]
[1] "dog"
[[3]]
[1] "zz"
> unlist(lapply(mylist, tail, 1))
[1] "3" "dog" "zz"
Dr. Seth W. Bigelow
Biologist, USDA-FS Pacific Southwest Research Station
1731 Research Park Drive, Davis California
sbige...@fs.fed.us / ph. 530 759 1718
[[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.
David Winsemius, MD
West Hartford, CT
______________________________________________
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.