将具有间隔天数的列添加到系列时态数据

时间:2017-08-29 03:22:26

标签: r datetime lubridate

假设我有一个数据框df:

df <- read.table(header=T, text='
          Date            
          03/12/2007   
          02/01/2008   
          01/02/2008   
          02/03/2008  
          ')

library(lubridate)
df$Date = as_date(dmy(df$Date))

如何在每个行间隔中添加一列? (设置03/12/2007作为开始时间) 欲望输出表将是这样的:

      Date        d
      03/12/2007  0
      02/01/2008  30
      01/02/2008  60
      02/03/2008  90

谢谢!

2 个答案:

答案 0 :(得分:1)

也许解决方法可能是:

df %>% mutate(dx=c(0, cumsum(as.numeric(diff(Date)))))

答案 1 :(得分:1)

df$d <- df$Date - min(df$Date)

这不要求日期按升序排列。