我试图得到列表中每个子元素的last元素的值。列表的元素是不同长度的向量,因此最后一个子元素的索引在列表的元素之间不是恒定的。
我已经搜索了SO,但只找到了那些希望获得的信息,for example, the second sub-element of every element。这对我没有帮助,因为列表中的元素的长度不恒定。
我只对不涉及使用for循环的解决方案感兴趣,因为我的列表长度> 100万。
示例数据:
x <- list(a = 1:5, b = 1:10, d = 9:11)
预期输出为列表:list(5, 10, 11)
4条答案
按热度按时间nhn9ugyo1#
我们可以使用
lapply
和tail
:正如注解中所指出的,要获得一个数字向量而不是一个单元素列表,
vapply
是一个不错的选择:kq4fsx7k2#
使用 purrr::map2:
jei2mxaa3#
你也可以使用
purrr::map_chr
沿着dplyr::last
:这在处理表格数据时特别方便
在本例中,我们提取了最后一个
.
之后的名称部分。使用map_int
的数字也是如此,依此类推请参见https://purrr.tidyverse.org/reference/map.htmldsekswqp4#
从
data.table
包中尝试last