r - 在嵌套列表中从第一个列表中选择第一个元素,从第二个列表中选择第二个元素,依此类推

假设我有一个这样的列表:

lst <- list(list(1,2,3),list(4,5,6),list(7,8,9))

然后我想提取元素 1、5 和 9。我应该如何高效地提取元素?我遇到过这篇文章; Select first element of nested list ,建议应该使用:

lapply(x, '[[', 1)

选择嵌套列表的第一个元素。我想知道在上述情况下是否可以做类似的事情?

最佳答案

您可以使用 sapply 使用列表的长度和函数对列表进行子集化,如下所示:

sapply(1:length(lst), function(x) lst[[x]][[x]])

https://stackoverflow.com/questions/72261472/

相关文章:

awk - 用键分隔行并存储在不同的文件中

python - 在 Python 中用正则表达式替换 '(' 时出错

c - 如何从内存中正确分配结构

python - 为什么有些功能pass了

html - 对 div 标签内的 span 元素应用边距和在 div 标签内应用边距有什么区别?

spring-webflux - Netty Http 客户端连接池

c++ - 如何从析构函数返回变量

r - 根据特定列中的数据框条目添加新列的最快方法是什么

arrays - 将 + 或 += 与 array#map 一起使用?

python - 如何找到具有最少步数的元素