У меня есть фрейм данных, который выглядит так:
w<-read.table(header=TRUE, text="
start.date end.date manager
2006-05-01 2007-04-30 a
2006-09-30 2007-12-31 b
1999-09-30 2007-12-31 c
2008-01-01 2012-04-30 d
2008-01-01 2020-02-28 e
2009-05-01 2016-04-08 f")
Я хотел бы получить фрейм данных, который возвращает, какие менеджеры работали в течение каждого месяца в течение периода, например
df<-read.table(header=TRUE, text="
month manager1 manager2 manager3 manager4
01-2006 a b c NA
02-2006 a b c d
03-2006 b c d NA
04-2006 b d NA NA")
Я начал с определения функции datseq, которая возвращает количество месяцев между start.date и end.date.
datseq <- function(t1, t2) {
format(seq.Date(from = as.Date(t1,"%Y-%m-%d"),
to = as.Date(t2,"%Y-%m-%d"),by="month"),
"%m/%Y")
но тогда я не могу создать правильный цикл для получения желаемого результата. Заранее спасибо всем ответившим!
data.table::foverlaps()
- person mharinga   schedule 29.03.2021