[英]Aggregation from data.table (R language)
I have a data table myTable
like this(input): 我有一个数据表
myTable
像这样(输入):
user_id timestamp event_id
1 Ann 11115555 Level1Start
2 Serg 11113333 Level1Start
3 Ann 11117777 Level1Complete
4 Ann 11116666 Level1Complete
5 Ann 11112222 Level1Start
I need to add the column named timeInLevel
and calculate time between first two logs Level1Start and Level1Complete. 我需要添加名为
timeInLevel
的列并计算前两个日志Level1Start和Level1Complete之间的时间。
Output: 输出:
user_id timestamp event_id TimeInLevel
1 Ann 11115555 Level1Start 4444
2 Serg 11113333 Level1Start NA
3 Ann 11117777 Level1Complete 4444
4 Ann 11116666 Level1Complete 4444
5 Ann 11112222 Level1Start 4444
THX for help!!! THX寻求帮助!!!
Perhaps something like this using data.table
syntax: 也许使用
data.table
语法是这样的:
dt[, TimeInterval := min(timestamp[event_id == "Level1Complete"]) -
min(timestamp[event_id == "Level1Start"]), by = user_id]
# user_id timestamp event_id TimeInterval
#1: Ann 11115555 Level1Start 4444
#2: Serg 11113333 Level1Start NA
#3: Ann 11117777 Level1Complete 4444
#4: Ann 11116666 Level1Complete 4444
#5: Ann 11112222 Level1Start 4444
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.