0

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

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

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

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

查看(数据帧)

4

1 回答 1

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)
于 2019-05-07T11:01:52.887 回答