У меня есть 14 миллионов строк данных о продуктах, тарифных ставках, объемах сделок и комбинациях год-месяц в следующем формате:
df <- as.data.frame(matrix(c(1220, "2013-1", 10011900, 29307, .1,
1220, "2013-2", 10011900, 28202, .1,
1220, "2013-3", 10011900, 22383, .15,
1220, "2013-4", 10011900, 21303, .15,
1220, "2013-5", 10011900, 21201, .15,
1220, "2013-1", 10019900, 9960, .12,
1220, "2013-2", 10019900, 10043, .12,
1220, "2013-3", 10019900, 11001, .1,
1220, "2013-4", 10019900, 10997, .1,
1220, "2013-5", 10019900, 12038, .1),
ncol = 5, byrow = T))
colnames(df) <- c("country", "date", "product", "value", "rate" )
Я пытаюсь добавить столбец к данным, например которую я смогу использовать для создания набора переменных индикатора, обозначающих сколько месяцев до / после изменения тарифной ставки. Таким образом, вышеприведенное выглядит следующим образом:
df_transformed <- as.dataframe(matrix(c(1220, "2013-1", 10011900, 29307, .1, -2,
1220, "2013-2", 10011900, 28202, .1, -1,
1220, "2013-3", 10011900, 22383, .15, 0,
1220, "2013-4", 10011900, 21303, .15, 1,
1220, "2013-5", 10011900, 21201, .15, 2,
1220, "2013-1", 10019900, 9960, .12, -2,
1220, "2013-2", 10019900, 10043, .12, -1,
1220, "2013-3", 10019900, 11001, .1, 0,
1220, "2013-4", 10019900, 10997, .1, 1,
1220, "2013-5", 10019900, 12038, .1, 2)))
colnames(df_transformed) <- c("country", "date", "product", "value", "rate", "months_since_change")
Я не уверен, как наилучшим образом найти изменение тарифной переменной и создать на ее основе новый столбец.
Спасибо за помощь!