Я пытаюсь сначала разбить столбец со значениями на набор двоичных столбцов, а затем собрать их снова в формате временного ряда.
В качестве примера рассмотрим местоположения, которые были завоеваны в определенное время, с данными, которые выглядят следующим образом:
df1 <- data.frame(locationID = c(1,2,3), conquered_in = c(1931, 1932, 1929))
locationID conquered_in
1 1 1931
2 2 1932
3 3 1929
Я пытаюсь изменить данные, чтобы они выглядели так:
df2 <- data.frame(locationID = c(1,1,1,1,2,2,2,2,3,3,3,3), year = c(1929,1930,1931,1932,1929,1930,1931,1932,1929,1930,1931,1932), conquered = c(0,0,1,1,0,0,0,0,1,1,1,1))
locationID year conquered
1 1 1929 0
2 1 1930 0
3 1 1931 1
4 1 1932 1
5 2 1929 0
6 2 1930 0
7 2 1931 0
8 2 1932 0
9 3 1929 1
10 3 1930 1
11 3 1931 1
12 3 1932 1
Моя первоначальная стратегия состояла в том, чтобы spread
победить, а затем попытаться gather
. Этот ответ показался близким, но я не могу понять его правильно с fill
, так как я пытаюсь заполнить последующие годы также цифрами 1.