我有两个日期向量。我需要找出两者之间几个月的差异。
在两个向量的子集中,我没有问题。
但是,一旦我将整个向量计算都包括在内,就不再有意义了。
例如,“ 2004-07-01”和“ 2004-09-30”之间的差异停止为3,变为258490。
我如何找到引起该问题的日期?
代码
data_frames$dat1 <- as.Date(data_frames$dat1, format = "%Y-%m-%d")
data_frames$dat2 <- as.Date(data_frames$dat2, format = "%Y-%m-%d")
data_frames$months <- round(as.double(difftime(data_frames$dat1, data_frames$dat2))/365*12)
查看(数据帧)
答案 0 :(得分:0)
使用mapply不会出现问题...
dist_months <- function(x,y){
round(as.double(difftime(as.Date(x,format =
"%Y-%m-%d"), as.Date(y, format = "%Y-%m-%d"))/365*12))
}
data_frames$months <- mapply(dist_months,data_frames$dat1,data_frames$dat2)