按最大元素反向排序列表

时间:2015-03-13 09:15:20

标签: r

我有一个载体列表

l = list(c(1,2),c(3,4),c(2,3),c(7,8),c(5,6))

并将反向按向量最大值排序:

> l
[[1]]
[1] 7 8

[[2]]
[1] 5 6

[[3]]
[1] 3 4

[[4]]
[1] 2 3

[[5]]
[1] 1 2

知道如何在一个班轮上做到这一点吗? THX

1 个答案:

答案 0 :(得分:3)

一种方法是

l[order(sapply(l, max), decreasing=TRUE)]
#[[1]]
#[1] 7 8

#[[2]]
#[1] 5 6

#[[3]]
#[1] 3 4

#[[4]]
#[1] 2 3

#[[5]]
#[1] 1 2

您也可以将sapply(l, max)替换为vapply(l, max, numeric(1L))

@DavidArenburg建议的紧凑形式

l[order(-sapply(l, max))]