У меня длинный формат данных, который содержит несколько записей для одной и той же даты и человека.
jj <- data.frame(month=rep(1:3,4),
student=rep(c("Amy", "Bob"), each=6),
A=c(9, 7, 6, 8, 6, 9, 3, 2, 1, 5, 6, 5),
B=c(6, 7, 8, 5, 6, 7, 5, 4, 6, 3, 1, 5))
Я хочу преобразовать его в широкую форму и сделать так:
month Amy.A Bob.A Amy.B Bob.B
1
2
3
1
2
3
1
2
3
1
2
3
Мой вопрос очень похож на на этот. Я использовал данный код в ответе:
kk <- jj %>%
gather(variable, value, -(month:student)) %>%
unite(temp, student, variable) %>%
spread(temp, value)
но он дает следующую ошибку:
Ошибка: Дублирующие идентификаторы для строк (1, 4), (2, 5), (3, 6), (13, 16), (14, 17), (15, 18), (7, 10), (8, 11), (9, 12), (19, 22), (20, 23), (21, 24)
Спасибо заранее. Примечание. Я не хочу удалять несколько записей.