我有一个数据框,其中有两列日期格式为yyyy/mm/dd.我试图计算数据框内每个观察的这两个日期之间的天数(并在其中创建一个具有这个天数的新变量).
到目前为止,我尝试使用这里给出的答案:
但是编辑代码以便计算总天数而不仅仅是工作天数.这只是提出错误说:
Error in del/by : non-numeric argument to binary operator
In addition: Warning message:
In Ops.factor(to, from) : - not meaningful for factors
Run Code Online (Sandbox Code Playgroud)
我也尝试过使用这段代码:
finish <- as.Date(survey$date, format="%yyyy/%mm/%dd")
start <- as.Date(survey$tx_start, format="%yyyy/%mm/%dd")
date_diff<-as.data.frame(finish-start)
Run Code Online (Sandbox Code Playgroud)
计划使用"cbind"或类似的东西将数据框"天"与我的数据框"调查"相结合,其中包含数据.
虽然这不会给我任何错误,但"完成"和"开始"对象内的观察都是"NA_real_",因此date_diff数据框的所有观察都列为NA.
如果有人能指出我正确的方向,这将是伟大的!我发现的所有其他问题似乎都没有处理变量中的日期,而是作为单独的日期,并将这些技术应用于变量并没有为我工作.
提前致谢
Rol*_*and 51
如果没有您看到您的数据(您可以使用输出dput(head(survey))显示我们),这是一个黑暗中的镜头:
survey <- data.frame(date=c("2012/07/26","2012/07/25"),tx_start=c("2012/01/01","2012/01/01"))
survey$date_diff <- as.Date(as.character(survey$date), format="%Y/%m/%d")-
as.Date(as.character(survey$tx_start), format="%Y/%m/%d")
survey
date tx_start date_diff
1 2012/07/26 2012/01/01 207 days
2 2012/07/25 2012/01/01 206 days
Run Code Online (Sandbox Code Playgroud)
小智 42
您可以使用以下函数找到数据框中列的日期之间的差异difftime:
df$diff_in_days<- difftime(df$datevar1 ,df$datevar2 , units = c("days"))
Run Code Online (Sandbox Code Playgroud)