À l'aide de propagation avec les mêmes identifiants pour les lignes

J'ai un dataframe qui ont plusieurs entrées pour le même jour et par personne.

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))

Je veux convertir à l'échelle, la forme et le faire comme ça:

month Amy.A Bob.A Amy.B Bob.B
1     
2     
3
1
2
3
1
2
3
1
2
3

Ma question est très similaire à cette. J'ai utilisé le code donné dans la réponse :

kk <- jj %>% 
  gather(variable, value, -(month:student)) %>% 
  unite(temp, student, variable) %>% 
  spread(temp, value)

mais il donne l'erreur suivante:

Erreur: Duplicate identificateurs pour les lignes (1, 4), (2, 5), (3, 6), (13, 16), (14, 17), (15, 18), (7, 10), (8, 11), (9, 12), (19, 22), (20, 23), (21, 24)

Merci à l'avance.
Note: je ne veux pas supprimer plusieurs entrées.

  • La sortie ne fait pas de sens. Comment est Bob.B 5 6 7. Il y a deux Bob valeurs de B pour le mois 1, 5 3? Et pour le mois 2, il est 4 and 2. Enfin, pour les mois à 3 6 5. Résumé de ces à une valeur.
InformationsquelleAutor Polar Bear | 2016-08-20