我有一个载体列表
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
答案 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))]