[英]calculate the number of days between 2 dates when there is a status change or event change in R?
每当状态更改为值1时,我都试图运行一段代码来计算2个日期之间的天数。
以下是数据框的示例:
我可以使用以下代码在2个日期之间进行计算,没问题,这是每次更改之间需要状态更改时我需要计算的天数。
df$Date2_Date1 <- difftime(df$Date2,df$Date1, units = c("hours"))
使用提供的数据框(一种更改:在第4个日期添加/),并在上一个代码中进行一次编辑(单位而不是一元形式):
library(dplyr)
id= c(1,1,1,1,1,2,2,2,2,3,3,3,3)
status = c(0,0,0,1,0,0,0,1,0,0,0,0,0)
date =c('08/01/2017','09/01/2017','10/01/2017','11/01/2017',
'13/01/2017','16/01/2017','17/01/2017','18/01/2017',
'19/01/2017','20/01/2017','21/01/2017','23/01/2017', '24/01/2017')
data <-data.frame(id,status,date)%>%
mutate(date=as.Date(date,"%d/%m/%Y"))
data%>%group_by(id,status)%>%
summarise(date = min(date))%>%
summarise(min = min(date),
max = max(date),
n = n(),
Diff = difftime(max,min,unit=c("hours")),
Diff = ifelse(n==2, Diff,NA))
给
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.