【发布时间】:2012-07-24 20:31:25
【问题描述】:
我有一个数据框,其中有两列日期,格式为 yyyy/mm/dd。 我正在尝试计算数据框中每个观察值的这两个日期之间的天数(并创建一个包含此天数的新变量)。
到目前为止,我已尝试使用此处给出的答案:
Calculate the number of weekdays between 2 dates in R
但编辑代码以便计算总天数而不仅仅是工作日数。这只是想出了错误说:
Error in del/by : non-numeric argument to binary operator
In addition: Warning message:
In Ops.factor(to, from) : - not meaningful for factors
我也尝试过使用此代码:
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)
计划使用“cbind”或等效的东西将数据框“days”与我的数据框“survey”结合起来,其中包含数据。
虽然这没有给我任何错误,但“完成”和“开始”对象中的观察结果都是“NA_real_”,因此 date_diff 数据框的所有观察结果都列为 NA。
如果有人能指出我正确的方向,那就太好了!我发现的所有其他问题似乎都不是在处理变量中的日期,而是作为单独的日期,并且将这些技术应用于变量并没有为我工作。
【问题讨论】:
-
这段代码对我有用。不确定它是否适合您的示例: d1 = '2012-07-26'; d2 = '1970-12-25'; dd1 = as.Date(d1); dd2 = as.Date(d2); dd1-dd2;
-
我的主要问题是处理日期列。我有 2 列日期,我想计算这两者之间的天数作为第三列。您的代码有效,但有没有办法对其进行调整,以便处理数据框中的日期列?
-
引用 d1 和 d2 作为矩阵元素,例如。调查$date 应该可以工作。