У меня есть фрейм данных с 7 переменными и миллионами строк.Я хотел бы создать строки для «обратной заполнения» данных к определенному моменту времени на основе экземпляра, для которого уже был закодирован код.
Экземпляр рассчитывается по году, ID, Var1, Var2 и номеру.Вы заметите, что дата первого экземпляра варьируется в зависимости от этих «групп».Для групп, у которых первый экземпляр не 01.01.2015, мне нужно «заполнить» их данные до 1 января 2015 года.
Вот начальный фрейм данных:
Date <- c("4/1/2015", "5/1/2015","1/1/2015","2/1/2015","3/1/2015","4/1/2015","5/1/2015","3/1/2015","4/1/2015","5/1/2015")
Year <- 2015
ID <- c("123456", "123456", "234567", "234567", "234567", "234567", "234567", "123456", "123456", "123456")
Var1 <- c(1,1,2,2,2,2,2,1,1,1)
Var2 <- c(10,10,10,10,10,10,10,11,11,11)
Number <- c("0001", "0001", "0001","0001","0001","0001","0001","0002","0002","0002")
Instance <- c(1,2,1,2,3,4,5,1,2,3)
df <- data.frame(Date, Year, ID, Var1, Var2, Number, Instance)
Вот мой ожидаемый результат:
Date <- c("1/1/2015","2/1/2015","3/1/2015","4/1/2015", "5/1/2015","1/1/2015","2/1/2015","3/1/2015","4/1/2015","5/1/2015","1/1/2015","2/1/2015","3/1/2015","4/1/2015","5/1/2015")
Year <- 2015
ID <- c("123456","123456","123456","123456", "123456", "234567", "234567", "234567", "234567", "234567", "123456","123456","123456", "123456", "123456")
Var1 <- c(1,1,1,1,1,2,2,2,2,2,1,1,1,1,1)
Var2 <- c(10,10,10,10,10,10,10,10,10,10,11,11,11,11,11)
Number <- c("0001","0001","0001","0001", "0001", "0001","0001","0001","0001","0001","0002","0002","0002","0002","0002")
Instance <- c(0,0,0,1,2,1,2,3,4,5,0,0,1,2,3)
df <- data.frame(Date, Year, ID, Var1, Var2, Number, Instance)