【问题标题】:For loop in DplyrDplyr中的for循环
【发布时间】:2021-08-05 10:42:47
【问题描述】:

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

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.

【问题讨论】:

    标签: r for-loop dplyr data-manipulation


    【解决方案1】:
    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]])))
    

    【讨论】:

    • 非常感谢。与 sum.mpg = sum(mpg)) 中的额外 ) 完美搭配
    猜你喜欢
    • 2016-10-15
    • 2015-11-26
    • 2021-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-28
    相关资源
    最近更新 更多