试图移动列中的条目

Trying to shift entries in a column

我正在尝试移动我的专栏中的条目以将它们设置为 start/stop 次。每个 id 的第一行都设置得很好,但我需要将其余的上下移动才能在我尝试的时候工作。

我尝试使用 dplyr 并将条目更改为新列,但问题是时间条目在另一列中,所以我正在尝试解决这个问题。

#This is what my data looks like
mydata<-data.frame(id=c(rep(1,3),rep(2,2)),baseline=c(rep("2018-07-14",3),
                                                      rep("2018-06-16",2)),
                   date=c("2018-08-23","2018-09-20","2018-10-05","2018-07-04","2018-08-08"))
head(mydata)

expecteddata<-data.frame(id=c(rep(1,3),rep(2,2)),
                   start=c("2018-07-14","2018-08-23","2018-09-20","2018-06-16","2018-07-04"),
                   end=c("2018-08-23","2018-09-20","2018-10-05","2018-07-04","2018-08-08"))
head(expecteddata)

这就是我希望得到的。增加开始时间也可能很好,因为不同的行将属于不同的风险集,但这是一个不同的问题。任何帮助或指示将不胜感激,我将如何继续。

确保日期变量正确class并尝试:

library(dplyr)

mydata %>%
  group_by(id) %>% 
  mutate(baseline =  lag(date, default = first(baseline))) %>%
  rename(start = baseline, end = date)

# A tibble: 5 x 3
# Groups:   id [2]
     id start      end       
  <dbl> <date>     <date>    
1     1 2018-07-14 2018-08-23
2     1 2018-08-23 2018-09-20
3     1 2018-09-20 2018-10-05
4     2 2018-06-16 2018-07-04
5     2 2018-07-04 2018-08-08