R data.table binary value for last row in group by condition

前端 未结 5 2027
感情败类
感情败类 2021-01-18 00:15

I have data like this:

library(data.table)
id <- c(\"1232\",\"1232\",\"1232\",\"4211\",\"4211\",\"4211\")
conversion <- c(0,0,0,1,1,1)
DT <- data.ta         


        
5条回答
  •  陌清茗
    陌清茗 (楼主)
    2021-01-18 00:54

    For each id, check if row number is the last row number in the group, and if 'conversion' is 1. Convert logical result to integer.

    DT[ , lastconv := as.integer(.I == .I[.N] & conversion == 1), by = id]
    

提交回复
热议问题