月差函数不一致

Months difference function inconsistency

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

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

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

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

查看(data_frames)

使用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)