如何按子列表的长度对嵌套列表进行排序:
l <- list(list("a","b","c"), list("d","e"), list("f"))
使用它应该回馈:
list(list("f"), list("d","e"), list("a","b","c"))
答案 0 :(得分:2)
我会用
l[order(sapply(l, length))]
@Arun评论中给出的解决方案
l[order(vapply(l, length, 1L))]
可以通过告诉R长度函数返回的所有内容都是一个整数来提供一些性能优势:“对于vapply,你基本上给R一个你的函数将返回什么样的东西的例子,这可以节省一些时间强制返回值适合单个原子向量。“参见:
R Grouping functions: sapply vs. lapply vs. apply. vs. tapply vs. by vs. aggregate