У меня есть таблица данных, которая выглядит следующим образом:
ID Start_Year Payment_2010 Payment_2011 Payment_2012 Payment_2013
1 2010 19 15 NA 11
2 2012 22 24 26 23
3 2012 NA NA NA 05
4 2011 17 NA 14 NA
Так продолжается для многих строк, в общей сложности около 20 лет столбцов Оплаты.
Мне нужно изменить его, используя R или SQL, с заменой текущих столбцов Payment на столбцы, в которых первый столбец (Payment_1) представляет значение в столбце Start_Year, а столбцы последовательно идут оттуда. Например, я хотел бы, чтобы таблица выше выглядела так:
ID Start_Year Payment_1 Payment_2 Payment_3 Payment_4
1 2010 19 15 NA 11
2 2012 26 23 NA NA
3 2012 NA 05 NA NA
4 2011 NA 14 NA NA
Таким образом, любая Платежная информация в первой таблице, которая выпадает до начала года, может быть отклонена. Если информация о платеже недоступна, значение должно быть NULL или NA (не ноль, так как они отличаются от NA в моих данных).
Я начал с попытки использовать динамический SQL для создания новых столбцов на основе столбца Start_year, но застрял. Я стал ближе, используя команды распространения и сбора из пакета dplyr в R, но мой канал продолжает работать неправильно, и я не могу найти способ отбросить информацию об Оплате, которая предшествует значению start_year.
Любая помощь высоко ценится, большое спасибо заранее.
(Я понимаю, что это странный формат, в котором нужно хранить данные, но это то, что мне нужно сделать).