月差函数不一致

时间:2019-05-07 10:42:01

标签: r date difftime

我有两个日期向量。我需要找出两者之间几个月的差异。

在两个向量的子集中,我没有问题。

但是,一旦我将整个向量计算都包括在内,就不再有意义了。

例如,“ 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)  

查看(数据帧)

1 个答案:

答案 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)