R espalhando várias colunas com tidyr [duplicado]
Esta pergunta já tem uma resposta aqui:
Como espalhar medidas repetidas de várias variáveis em um formato amplo? 4 respostasPegue esta variável de exemplo
df <- data.frame(month=rep(1:3,2),
student=rep(c("Amy", "Bob"), each=3),
A=c(9, 7, 6, 8, 6, 9),
B=c(6, 7, 8, 5, 6, 7))
Eu posso usarspread
a partir detidyr
para alterar isso para o formato ampl
> df[, -4] %>% spread(student, A)
month Amy Bob
1 1 9 8
2 2 7 6
3 3 6 9
Mas como posso espalhar dois valores, p. ambosA
eB
, de modo que a saída seja algo como
month Amy.A Bob.A Amy.B Bob.B
1 1 9 8 6 5
2 2 7 6 7 6
3 3 6 9 8 7