Mam długą ramkę danych formularza, która ma wiele wpisów dla tej samej daty i osoby.Używanie rozkładówki z duplikatami identyfikatorów dla wierszy
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))
Chcę, aby przekształcić go do szerokiej formie i zrobić to tak:
month Amy.A Bob.A Amy.B Bob.B
1
2
3
1
2
3
1
2
3
1
2
3
Moje pytanie jest bardzo podobny do this. Użyłem dany kod odpowiedź:
kk <- jj %>%
gather(variable, value, -(month:student)) %>%
unite(temp, student, variable) %>%
spread(temp, value)
ale daje następujący błąd:
Error: Duplicate identifiers for rows (1, 4), (2, 5), (3, 6), (13, 16), (14, 17), (15, 18), (7, 10), (8, 11), (9, 12), (19, 22), (20, 23), (21, 24)
góry dziękuję. Uwaga: Nie chcę usuwać wielu wpisów.
Dane wyjściowe nie mają sensu. Jak jest Bob.B '5 6 7'. Istnieją dwie wartości Boba B dla miesiąca 1, '5 3'? A dla miesiąca 2 jest to "4 i 2". Wreszcie, dla miesiąca 3 '6 5'. Podsumowujecie je do jednej wartości. –