我的数据有一个 StartDate 列,其中包括在研究的某个部分开始观察的日期,即患者 A 于 2014 年 1 月 1 日开始治疗 1,并于 2014 年 6 月 1 日开始治疗 2。
领先(滞后)到新处理日期的行是空白的。我想使用 if_else 语句用滞后日期填充空白单元格。在下面的示例中,“StartDate”列是我目前拥有的,“NewDate”列是我想要结束的。单元格 "" 是我希望用滞后日期填充的空白或 NULL 单元格。
我选择使用滞后函数是因为我认为单元格会相互链接,即单元格 3 将复制单元格 2,后者将复制单元格 1。
有什么建议?谢谢
df<-data.frame(StartDate=c(as.Date('2014-01-01'),"","","","",as.Date('2014-06-01'),"","","","",""),
NewDate=c(as.Date('2014-01-01'),as.Date('2014-01-01'),as.Date('2014-01-01'),as.Date('2014-01- 01'),as.Date('2014-01-01'),as.Date('2014-06-01'),as.Date('2014-06-01'),as.Date('2014-06- 01'),as.Date('2014-06-01'),as.Date('2014-06-01'),as.Date('2014-06-01')))
df$testDate<-if_else(is.na(df$Date),lag(df$Date),df$Date)
Run Code Online (Sandbox Code Playgroud)