R语言 如何按tibble中的值对tibble列表进行排序

x6h2sr28  于 2023-03-15  发布在  其他
关注(0)|答案(2)|浏览(201)

我已经创建了一个tibbles列表,这要归功于R中的split()函数。这个列表被简单地称为“b”。当我调用这个变量时,它看起来就像你在附图中看到的那样。
现在,我想重新排列列表中的每个tibble,使其按“n”降序排列。这样,我就可以查看每个月的“最佳表现者”。我不需要按它们中的任何一个分组。
有没有人能告诉我该怎么做?试过order/arrange/lapply等,但我一直收到错误。
谢谢你。

尝试示例:

尝试一个条目接一个条目,然后尝试“排列”,这样我就可以创建一个for循环

b[1]%>%arrange(.,desc(n))
Error in UseMethod("arrange") : 
  no applicable method for 'arrange' applied to an object of class "list"

尝试排序

> sort(b[8])
Error in sort.int(x, na.last = na.last, decreasing = decreasing, ...) : 
  'x' must be atomic

尝试通过dplyr排列

> b[1]%>%arrange(.,desc(n))
Error in UseMethod("arrange") : 
  no applicable method for 'arrange' applied to an object of class "list"
ercv8c1e

ercv8c1e1#

您可以:

library(tidyverse)

map(.x = b,
    .f = ~.x %>%
      arrange(-n))
42fyovps

42fyovps2#

使用base R

lapply(split(mtcars, mtcars$cyl), \(x) x[order(x$hp),])

相关问题