Dplyr 中的 For 循环

For loop in Dplyr

我有如下代码。首先代码应该 运行 基于 dplyr::arrange(desc(sum.total)) 然后 dplyr::arrange(desc(sum.mpg)) 然后作为结果我想要一个 dataframe/datatable。非常感谢

head(mtcars)

my.mtcars <- mtcars %>%
  dplyr::group_by(gear)%>%
  dplyr::summarise(
    sum.total = n(),
    sum.mpg = sum(mpg))%>%
  dplyr::arrange(desc(sum.total)) # Run me first
  #dplyr::arrange(desc(sum.mpg))  # Second Dont run the line above but this

预期答案

#with dplyr::arrange(desc(sum.total))
gear sum.total sum.mpg

1     3        15    242.
2     4        12    294.
3     5         5    107.
#with dplyr::arrange(desc(sum.mpg))
gear sum.total sum.mpg

1     4        12    294.
2     3        15    242.
3     5         5    107.
my.mtcars <- mtcars %>%
  dplyr::group_by(gear)%>%
  dplyr::summarise(
    sum.total = n(),
    sum.mpg = sum(mpg)
lapply(c('sum.total', 'sum.mpg'), function(var) arrange(my.mtcars, desc(.data[[var]])))