【问题标题】:How to know last time action for every user?如何知道每个用户的最后一次操作?
【发布时间】:2016-03-29 23:51:59
【问题描述】:

我有一个用户日志数据框(我的输入):

user_id    log_category    client_ts

1 Rob      user            1455035670
2 Fred     progression     1455035345
3 Rob      design          1455035547
4 Rob      design          1455035870
5 Fred     user            1455035970
6 Fred     progression     1455035548

我想要的是:要知道所有 user_id(输出)的最后一个日志 client_ts

user_id    client_ts

1 Rob      1455035870
2 Fred     1455035970

然后添加到我的输入列名称 is_leave 与因子 yes 如果最后一个 last_log_ts < 1455035950(输出):

user_id    log_category    client_ts   last_log_ts   is_leave

1 Rob      user            1455035670  1455035870    yes
2 Fred     progression     1455035345  1455035970    no
3 Rob      design          1455035547  1455035870    yes
4 Rob      design          1455035870  1455035870    yes
5 Fred     user            1455035970  1455035970    no
6 Fred     progression     1455035548  1455035970    no

【问题讨论】:

    标签: r dataframe


    【解决方案1】:

    使用data.table,我们可以这样做:

    library(data.table)
    setDT(df)[,last_log_ts := max(client_ts), user_id][,is_leave := ifelse(last_log_ts < 1455035950,"yes","no")]
    > df
    #   user_id log_category  client_ts last_log_ts is_leave
    #1:     Rob         user 1455035670  1455035870      yes
    #2:    Fred  progression 1455035345  1455035970       no
    #3:     Rob       design 1455035547  1455035870      yes
    #4:     Rob       design 1455035870  1455035870      yes
    #5:    Fred         user 1455035970  1455035970       no
    #6:    Fred  progression 1455035548  1455035970       no
    

    【讨论】:

      猜你喜欢
      • 2018-11-08
      • 1970-01-01
      • 2015-06-13
      • 1970-01-01
      • 1970-01-01
      • 2021-08-09
      • 1970-01-01
      • 1970-01-01
      • 2021-12-24
      相关资源
      最近更新 更多