gpt4 book ai didi

r - 如何按第一个元素对列表进行排序

转载 作者:行者123 更新时间:2023-12-04 12:41:21 24 4
gpt4 key购买 nike

我有一个向量列表,看起来像:

[[1]]
[1] 2 1.0 3.0

[[2]]
[1] 3 3 3

[[3]]
[1] 1 3.0 1.0

我希望它按每个向量的第一个元素按降序排序,如下所示:
[[1]]
[1] 3 3 3

[[2]]
[1] 2 1.0 3.0

[[3]]
[1] 1 3.0 1.0

我正在寻找一个看起来像的解决方案(当然它不起作用):
list.sortby(function (x) x[1])

最佳答案

我认为您的示例不应该导致将列表的第二个元素放在结果的第一个元素中?如果这是正确的,您可以使用 lapply做你想做的事:

L <- list(c(2,1,3), c(3,3,3), c(1,3,1))
L
lapply(L, sort)

如果您按列表中每个向量中的第一个值进行排序,则可以通过以下方式完成:
L[order(sapply(L, function(x) x[1], simplify=TRUE), decreasing=TRUE)]

L
[[1]]
[1] 3 3 3

[[2]]
[1] 2 1 3

[[3]]
[1] 1 3 1

从您的示例来看,您似乎想要降序。

关于r - 如何按第一个元素对列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21218438/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com