Ниже приведено решение:
Генерируемые данные:
example<-data.frame( Date = c("12/31/2012", "12/31/2013", "12/31/2014"), index = c("A", "B", "B"), group = c(1,1,2))
print(example)
выход
Date index group
1 2012-12-31 A 1
2 2013-12-31 B 1
3 2014-12-31 B 2
Код решения:
library(lubridate)
library(dplyr)
example[,1]<-mdy(example[,1])
df1<-example %>% mutate(Date = Date%m+% years(1))
df2<-example %>% mutate(Date = Date%m+% years(2))
final_df<-rbind(example,df1,df2)
print(final_df)
выход
Date index group
1 2012-12-31 A 1
2 2013-12-31 B 1
3 2014-12-31 B 2
4 2013-12-31 A 1
5 2014-12-31 B 1
6 2015-12-31 B 2
7 2014-12-31 A 1
8 2015-12-31 B 1
9 2016-12-31 B 2