【问题标题】:Mutate column showing increasing/decreasing value compared to previous period [duplicate]与上一时期相比,显示增加/减少值的变异列[重复]
【发布时间】:2018-08-07 14:54:42
【问题描述】:

假设我有一个这样的df

Dealer Period    Revenue
A      August    10
B      August    10
A      September 30
B      September 5

如何使用 mutate 函数创建一个列来显示收入与上一期间的比较结果。

我想要的结果是这样的

Dealer Period    Revenue Compared_result
A      August    10      N/A
B      August    10      N/A
A      September 30      20
B      September 5       -5

【问题讨论】:

  • 在基础 R 中,ave(df$Revenue, df$Dealer, FUN=function(x) c(NA,diff(x)))

标签: r dplyr


【解决方案1】:
 library(dplyr)
 df %>% group_by(Dealer) %>% 
        mutate(Comp=Revenue-lag(Revenue))

  # A tibble: 4 x 4
  # Groups:   Dealer [2]
    Dealer Period    Revenue  Comp
    <fct>  <fct>       <int> <int>
   1 A      August         10    NA
   2 B      August         10    NA
   3 A      September      30    20
   4 B      September       5    -5

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-30
    • 2017-10-19
    • 2019-02-19
    • 1970-01-01
    • 2021-09-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多