Итак, у меня есть вышеуказанный набор данных, где каждая строка представляет советника. Pol_Month представляет месяц первой транзакции.
Начиная с месяца 1 транзакции, мне нужно отслеживать его транзакции в течение 12 месяцев.
Например, для Adv 'S301' его первая транзакция совершается в январе месяце, следовательно, с января_APE по FY1819_De December_APE его транзакции должны регистрироваться в рамках Месяца 1, Месяца 2…. Month12
Если первый месяц транзакции до апреля, отсчет 12 месяцев начинается с апреля.
Итак, в основном, для каждой записи мне нужно начать обход столбцов с Pol_Month и записать значения до 12-го месяца. Если Pol_Month - март, обход начинается с апреля.
Ожидаемый результат:
Adv_Code Pol_Month Month1_APE Month2_APE Month3_APE Month4_APE Month5_APE Month6_APE Month7_APE Month8_APE Month9_APE Month10_APE Month11_APE Month12_APE
A299 March 0 0 0 0 0 0 0 0 0 0 0 0
A298 NA 0 0 0 0 0 0 0 0 0 0 0 0
S300 NA 0 0 0 0 0 0 0 0 0 0 0 0
S301 January 19101 0 0 0 0 0 19000 0 0 0 0 0
A299 March 0 0 0 0 0 0 0 0 0 0 0 0
A298 March 0 0 0 0 0 0 0 0 0 0 0 0
S300 March 0 0 0 0 0 0 0 0 0 0 0 0
S301 March 0 0 0 0 0 0 0 0 0 0 0 0
S300 March 0 0 0 0 0 0 0 0 0 0 0 0
S301 April 15413 29798 70010 20342 24521 20550 0 0 25920 0 0 0
Может кто-нибудь, пожалуйста, помогите мне с этим?
ниже приведен код для воспроизведения df:
df <- structure(list(Adv_Code = structure(c(2L, 1L, 3L,4L,2L,1L,3L,4L,3L,4L), .Label = c("A298","A299", "S300","S301","S302","S303","S304","S305","S309"), class = "factor"),
#Pol_Dt = structure(c(2L,3L, 2L,2L,2L,3L,2L,3L,2L,3L), .Label = c("03/31/2017", NA, NA,"1/30/2018","3/31/2017","3/31/2017","3/31/2017","3/31/2017","3/31/2017","4/25/2017"), class = "factor"),
Pol_Month = structure(1:10, .Label = c("March",NA,NA,"January","March","March","March","March","March","April"), class = "factor"),
April_APE = c(0L, 0L, 0L,0L,0L,0L,0L,0L,0L,15413L),
May_APE = c(0L, 0L, 0L,0L,0L,0L,0L,0L,0L,29798L), June_APE = c(0L, 0L, 0L,0L,0L,0L,0L,0L,0L,70010L), July_APE = c(0L, 0L, 0L,0L,0L,0L,0L,0L,0L,20342L),
August_APE = c(0L, 0L, 0L,0L,0L,0L,0L,0L,0L,24521L), September_APE = c(0L, 0L, 0L,0L,0L,0L,0L,0L,0L,20550L), October_APE = c(0L, 0L, 0L,0L,0L,0L,0L,0L,0L,0L),
November_APE = c(0L, 0L, 0L,0L,0L,0L,0L,0L,0L,0L),December_APE = c(0L, 0L, 0L,0L,0L,0L,0L,0L,0L,25920L), January_APE = c(0L, 0L, 0L,19101L,0L,0L,0L,0L,0L,0L),
February_APE = c(0L, 0L, 0L,0L,0L,0L,0L,0L,0L,0L), March_APE = c(0L, 0L, 0L,0L,0L,0L,0L,0L,0L,0L),
FY1819_April_APE = c(NA,NA,NA,0L,NA,NA,NA,NA,NA,16440L),FY1819_May_APE = c(NA,NA,NA,0L,NA,NA,NA,NA,NA,16440L),
FY1819_June_APE = c(NA,NA,NA,0L,NA,NA,NA,NA,NA,0L),FY1819_July_APE = c(NA,NA,NA,19000L,NA,NA,NA,NA,NA,0L),
FY1819_August_APE = c(NA,NA,NA,0L,NA,NA,NA,NA,NA,15413L),FY1819_September_APE = c(NA,NA,NA,0L,NA,NA,NA,NA,NA,0L),
FY1819_October_APE = c(NA,NA,NA,0L,NA,NA,NA,NA,NA,0L),FY1819_November_APE = c(NA,NA,NA,0L,NA,NA,NA,NA,NA,0L),FY1819_December_APE = c(NA,NA,NA,0L,NA,NA,NA,NA,NA,0L),
FY1819_January_APE = c(NA,NA,NA,0L,NA,NA,NA,NA,NA,0L),FY1819_February_APE = c(NA,NA,NA,0L,NA,NA,NA,NA,NA,15413L),FY1819_March_APE = c(NA,NA,NA,0L,NA,NA,NA,NA,NA,0L)),
class = "data.frame", row.names = c(NA, -10L))
Может ли кто-нибудь любезно помочь!