列表中的列表和lapply

3

我有一个包含十个元素的列表,每个元素都是一个包含两个元素的列表。以下是str()函数返回的部分内容:

> str(results)
List of 10
 $ :List of 2

我想对由每个列表的第二个元素组成的向量应用min函数,但我不知道如何应用于嵌套的列表。
示例
results <- list(list(1, 2), list(3, 4), list(5, 6), list(4, 1), list(5, 1),
                list(5, 1), list(-1, 10), list(6, 0), list(0, 9), list(4, 4))

你是不是想要类似于 min(sapply(results, [[, 2)) 这样的东西?这个能得到你想要的结果吗? - Psidom
可能就是这样了。[ [ 做什么? - uller
这只是提取您子列表的第二个元素。或者 min(sapply(results, function(x) { x[[2]] })),它们是等效的。 - Psidom
当然!很高兴能帮到你。 - Psidom
使用min(unlist(results)[c(FALSE, TRUE)])min(unlist(results)[c(TRUE, FALSE)])来获取第一个结果。 - rawr
1个回答

3
这可能会有所帮助:
min(sapply(results, `[[`, 2))

或等价地说:
min(sapply(results, function(x) { x[[2]] }))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接