【问题标题】:Create running length index [duplicate]创建运行长度索引[重复]
【发布时间】:2019-06-16 18:26:28
【问题描述】:

考虑这个数据框:

DT <- data.frame(id = rep(1:3, each = 5),
                 seq = c(1,3,3,4,5,1,2,3,4,5,1,1,1,1,1)

我要做的是创建一个名为nth_instance 的列,它应该如下所示:

DT <- data.frame(id = rep(1:3, each = 5),
                 seq = c(1,3,3,4,5,1,2,3,4,5,1,1,1,1,1),
                 nth_instance = c(1,2,2,3,4,1,2,3,4,5,1,1,1,1,1))

创建一个列,该列计算seq 列的不同出现次数,但也以运行长度的方式计算。如果是dplyr 解决方案就好了。

【问题讨论】:

    标签: r dplyr


    【解决方案1】:

    你需要 data.table。

    DT %>% 
      group_by(id) %>% 
      mutate(nth_instance = rleid(seq))
    

    【讨论】:

    • 您也可以将答案标记为正确!
    猜你喜欢
    • 2018-09-21
    • 1970-01-01
    • 1970-01-01
    • 2019-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-29
    • 1970-01-01
    相关资源
    最近更新 更多