根据数据范围扩展大数据帧

时间:2019-07-13 12:55:06

标签: r

我正在尝试扩展到数据框(1M +行)以下

employee manager start end 1 59 476762 2010-01-07 2010-07-12 2 59 719005 2010-07-13 2010-07-19 3 59 710780 2010-07-20 2010-09-19 4 59 440891 2010-09-20 2011-11-28 5 59 2308591 2014-08-07 2017-10-31 6 59 1442078 2017-11-01 2017-12-23

至以下

employee manager YearMonth 1 59 476762 2010/01

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我是R的新手(也许这很基础),但是我能够从多个帖子和网站中找到答案,并考虑在下面分享它(也许不是最优雅的方法,但是在这种情况下它是可行的)

`M <- Map(seq, df$Start ,df$End, by="month")

 DFM <- data.frame(
 employee = rep.int(df$employee, vapply(M, length, 1L)),
 manager = rep.int(df$manager, vapply(M, length, 1L)), 
 YM = do.call(c, M)
                  )  

 DFM$YM <- format(DFM$YM, "%Y/%m")`

希望这对某人有帮助!