Несоответствие функции разницы месяцев - PullRequest
0 голосов
/ 07 мая 2019

У меня есть два вектора дат. Мне нужно найти разницу в месяцах между ними.

В подмножестве двух векторов у меня нет проблем.

Однако, как только я включу вычисление всего вектора, перестанет иметь смысл.

Например, разница между «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)

1 Ответ

0 голосов
/ 07 мая 2019

При использовании 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...