我正在尝试获取R中列表中每个子元素的最后一个元素的值。列表中的元素是不同长度的向量,因此列表中元素之间的最后一个子元素的索引不是恒定的。我已经搜索过SO,但仅找到那些想要获得每个元素第二个子元素的信息。这对我没有帮助,因为列表中的元素长度不固定。
我只对不涉及使用for循环的解决方案感兴趣,因为我的列表长度> 1百万。
谢谢!
您可以使用lapply
和tail
:
x <- list(a=1:5, b = 1:10, d = 9:11)
last_elems <- lapply(x, tail, n = 1L)
正如Hadd E. Nuff指出的那样,获得数字向量而不是一个元素列表vapply
是一个不错的选择:
last_elems <- vapply(x, tail, n = 1L, FUN.VALUE = numeric(1))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句