月差函数不一致
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)
我有两个日期向量。我需要找出两者之间的月份差异。
在两个向量的子集中我没有问题。
但是,一旦我将整个矢量计算包括在内就不再有意义了。
例如“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)