У меня есть набор данных, содержащий фирмы, занимающиеся определенной категорией продуктов. Набор данных выглядит следующим образом:
df <- data.table(year=c(1979,1979,1980,1980,1980,1981,1981,1982,1982,1982,1982),
category = c("A","A","B","C","A","D","C","F","F","A","B"))
Я хочу создать новую переменную следующим образом: Если фирма входит в новую категорию, в которую она ранее не занималась в предыдущие годы (не в том же году) ) , то эта запись помечается как «НОВАЯ», в противном случае она будет помечена как «СТАРЫЙ».
Таким образом, желаемый результат будет:
year category Newness
1: 1979 A NEW
2: 1979 A NEW
3: 1980 B NEW
4: 1980 C NEW
5: 1980 A OLD
6: 1981 D NEW
7: 1981 C OLD
8: 1982 F NEW
9: 1982 F NEW
10: 1982 A OLD
11: 1982 B OLD
I Я склонен использовать data.table, поскольку у меня более 1,5 миллионов наблюдений, и я хочу иметь возможность реплицировать решение путем группировки по идентификаторам фирм.
Любая помощь будет принята с благодарностью, и заранее благодарю.