按多于 1 列排序时 Dplyr Arrange 出错

Dplyr Arrange Giving Error when Sorting by more than 1 Column

我在使用 dplyr 的“安排”时收到此错误。我正在尝试按降序对 2 个变量进行排序。

Error in `dplyr::arrange()`:
! `desc()` must be called with exactly one argument.

我以前从来没有遇到过这个问题。会不会与另一个包发生冲突?我今天安装了最新版本的 rlang,从那时起我就遇到了“安排”的问题。

这是数据示例以及我使用的代码:

df %>% 
  arrange(desc(year, amount))

year   amount    
2022     5    
2017     2     
2021     2         
2022     3       
2020     4         
2019     3      
2017     1    
2022     2 
2020     1

应该是这个结果。没有?

year   amount
2022     5
2022     3
2022     2
2021     2
2020     4
2020     1
2019     3
2017     2
2017     1

您可以使用此代码:

df <- data.frame(year = c(2022, 2017, 2021, 2022, 2020, 2019, 2017, 2022, 2020),
                 amount = c(5, 2, 2, 3, 4, 3, 1, 2, 1))
         
         df %>% 
           arrange(desc(year))

输出:

year amount
2022      5
2022      3
2022      2
2021      2
2020      4
2020      1
2019      3
2017      2
2017      1

你应该只在 desc() 中提到一个变量