На самом деле, я преобразовал данные примерно так
code name returns year week
1 A 0.66 2000 01
2 A 0.32 2000 02
3 A 0.66 2000 03
4 A 0.99 2000 04
5 A 0.55 2000 05
Для кадра данных, который выглядит примерно так
code name returns date
1 A 0.66 07-01-2000
2 A 0.32 14-01-2000
3 A 0.66 21-01-2000
4 A 0.99 NA
5 A 0.55 05-02-2000
Это было сделано с помощью следующей команды
setDT(weekly)[,date:=as.Date(paste(year, week, 5, sep="-"), "%Y-%U-%u")]
Но я не знаю, почему на прошлой неделе, то есть на 52-й неделе ... последняя дата отсутствует.
Я хочу заменить NA предыдущей датой + 7 дней.
Вывод должен выглядеть примерно так
code name returns date
1 A 0.66 07-01-2000
2 A 0.32 14-01-2000
3 A 0.66 21-01-2000
4 A 0.99 28-01-2000
5 A 0.55 05-02-2000
**Note- Here, year 2000 is just an example. Actually, NA occurs whenever month changes from Thursday.**