Я хотел бы изменить данные на основе двух столбцов в начале и конце года, как данные панели. С изменением формы я могу расплавиться на основе двух уникальных столбцов, но это немного сложно. Я хотел бы расширить его по длине в зависимости от разницы и добавить столбец с именем change (с указанием 1 для первого года и 0 в противном случае). Какие-либо предложения?Измените данные на основе разности двух столбцов лет
Формат: df.
A <- c("xyz", "xyz", "x","x","x", "y")
start <- c("2001", "1999", "2001", "2000", "1998", "2001")
end <- c("2002", "2001", "2002", "2001", "2000", "2001")
df<- data.frame(A, start,end)
Я хотел бы окончательные данные следующим образом
A year change
xyz 2001 1
xyz 2002 0
xyz 1999 1
xyz 2000 0
x 2001 1
x 2002 0
x 2000 1
x 2001 0
x 1998 1
x 1999 0
x 2000 0
y 2001 1
'библиотека (reshape2) расплава (DF, ID = с ("А")) – user3570187
Я попробовал библиотеку splitstackshape для расширения на основе различий <- конец года, но я не получал данные панели. – user3570187
Вы можете попробовать 'data.frame (A = rep (df [, 1], each = 2), year = c (t (df [-1])), change = 1: 0)' –