我已经从以下代码的其他 SO 答案中对信息进行了三角测量,但遇到了错误消息。搜索了类似的错误和解决方案,但无法弄清楚,因此感谢您的帮助。
对于每个组(“id”),我想获得连续行的开始时间之间的差异。
可重现的数据:
require(dplyr)
df <-data.frame(id=as.numeric(c("1","1","1","2","2","2")),
start= c("1/31/17 10:00","1/31/17 10:02","1/31/17 10:45",
"2/10/17 12:00", "2/10/17 12:20","2/11/17 09:40"))
time <- strptime(df$start, format = "%m/%d/%y %H:%M")
df %>%
group_by(id)%>%
mutate(diff = time - lag(time),
diff_mins = as.numeric(diff, units = 'mins'))
得到我的错误:
mutate_impl(.data, dots) 中的错误:列
diff
的长度必须为 3(组大小)或 1,而不是 6 另外:警告消息:在 unclass(time1) - unclass(time2) 中:更长的对象长度不是的倍数更短的物体长度