【问题标题】:create column based on date/time of data根据数据的日期/时间创建列
【发布时间】:2021-08-06 16:16:54
【问题描述】:

我有多个同一天的销售数据,我想为第一次销售创建一个收入列,为最后一次销售创建一个收入列。 (时间日期顺序的第一个和最后一个)。

以下是我当前和预期的输出:

   > df
       ID       Date Revenue
    1 113 23/04/2018      51
    2 113 24/04/2018      87
    3 113 25/04/2018      70
    4 112 23/04/2018      99
    5 112 24/04/2018      88
    6 110 23/04/2018      83



> data_desired
   ID       First.Revenue Last.Revenue
1 113             51           70
2 112             99           88
3 110             83           NA

【问题讨论】:

  • 是的,我会修复它

标签: r date datetime


【解决方案1】:

你可以这样做:

library(dplyr)

df %>%
  mutate(Date = as.Date(Date, '%d/%m/%Y')) %>%
  arrange(ID, Date) %>%
  group_by(ID) %>%
  summarise(First.Revenue = first(Revenue), 
            Last.Revenue = last(Revenue), 
            Last.Revenue = ifelse(First.Revenue == Last.Revenue, NA, Last.Revenue))

#    ID First.Revenue Last.Revenue
#  <int>         <int>        <int>
#1   110            83           NA
#2   112            99           88
#3   113            51           70

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-03
    • 1970-01-01
    • 2018-07-25
    • 1970-01-01
    • 2021-12-02
    • 1970-01-01
    • 2022-11-29
    相关资源
    最近更新 更多