如何在 R 中按降序对包含单一子元素的列表进行排序?


就像列表可以有多个元素一样,列表的元素也可以有多个子元素,并且这些元素的大小也可能不同,因此也可能出现包含单一子元素的列表。如果我们有此类列表,那么我们可以使用 order 函数按降序对该列表进行排序,但我们还需要取消这些元素的列表。

示例

考虑下面的列表 −

 在线演示

x1<-500
x2<-245
x3<-128
x4<-325
x5<-854
x6<-329
x7<-742
x8<-214
x9<-374
x10<-524
List1<-list(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10)
List1

输出

[[1]]
[1] 500
[[2]]
[1] 245
[[3]]
[1] 128
[[4]]
[1] 325
[[5]]
[1] 854
[[6]]
[1] 329
[[7]]
[1] 742
[[8]]
[1] 214
[[9]]
[1] 374
[[10]]
[1] 524

List1 的元素按降序排列 −

示例

List1[order(unlist(List1),decreasing=TRUE)]

输出

[[1]]
[1] 854
[[2]]
[1] 742
[[3]]
[1] 524
[[4]]
[1] 500
[[5]]
[1] 374
[[6]]
[1] 329
[[7]]
[1] 325
[[8]]
[1] 245
[[9]]
[1] 214
[[10]]
[1] 128

我们来看另一个示例 −

示例

 在线演示

y1<-241
y2<-215
y3<-421
y4<-295
y5<-371
y6<-501
y7<-652
y8<-719
y9<-814
y10<-110
List2<-list(y1,y2,y3,y4,y5,y6,y7,y8,y9,y10)
List2

输出

[[1]]
[1] 241
[[2]]
[1] 215
[[3]]
[1] 421
[[4]]
[1] 295
[[5]]
[1] 371
[[6]]
[1] 501
[[7]]
[1] 652
[[8]]
[1] 719
[[9]]
[1] 814
[[10]]
[1] 110

List2 的元素按降序排列 −

示例

List2[order(unlist(List2),decreasing=TRUE)]

输出

[[1]]
[1] 814
[[2]]
[1] 719
[[3]]
[1] 652
[[4]]
[1] 501
[[5]]
[1] 421
[[6]]
[1] 371
[[7]]
[1] 295
[[8]]
[1] 241
[[9]]
[1] 215
[[10]]
[1] 110

更新于:17-Oct-2020

81 次浏览

开启您 职业生涯

通过完成此课程获得认证

开始
广告