对不起基本问题,但我有一个元素列表,它们是数字向量
str(list1)
List of 34
$ 1 : num [1:2037171] 98.3 98.2 98.1 97.4 97.9 98 97.7 98.1 98.4 98 ...
$ 3 : num [1:692076] 98.8 98.1 97.6 96.6 96.4 96.9 96.1 95.8 96.7 96.5 ...
$ 2 : num [1:82621] 97.7 97.7 97.4 97.7 98.4 98.1 97.4 98 97.6 98.3 ..
.
.
.
,似乎list.sort(或order)不起作用,因为list1不是原子向量。我想按照向量的长度对list1进行排序。 怎么可能?抱歉"滥用"这个网站作为我的个人R教程。无法在谷歌找到答案。
答案 0 :(得分:2)
您需要遍历列表以获取长度:
mylist <- list(1:5, 1:10, 1:2)
mylist[order(sapply(mylist, length))]
# [[1]]
# [1] 1 2
#
# [[2]]
# [1] 1 2 3 4 5
#
# [[3]]
# [1] 1 2 3 4 5 6 7 8 9 10
答案 1 :(得分:2)
len <- sapply(list1, length)
list1[order(len)]