
Olá, Henrique. Já consegui. Muito obrigado pela ajuda! Esta pode ser uma outra alternativa, vou tentar depois para ver o que fica melhor, mas para o momento o unstack() ajudou muito. Abraço! Rodrigo Pereira (31)9326 3139 2011/5/17 Henrique Dallazuanna <wwwhsd@gmail.com>
Veja se é o que vc quer:
x <- structure(list(resposta = c("0", "2.96", "10.28", "12.42", "15.6", "14.23", "10.55", "8", "6.12", "3.24", "2.82", "1.18", "0.42", "0", "0", "1.2", "0", "4.01", "19.82", "17.83", "12.74", "7.37", "7.73", "4.7", "4.11", "3.11", "3.19", "2.25", "0.44", "0.16", "0", "2.36"), fator = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("R", "T"), class = "factor"), sujeito = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L)), .Names = c("resposta", "fator", "sujeito" ), row.names = c("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "31", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "32"), class = "data.frame")
reshape(cbind(x, id = rep(1:8, times = 4)), direction = 'wide', timevar = 'fator')
2011/5/17 Rodrigo Pereira <doforodrigo@gmail.com>:
Henrique, Esta opção eu tentei e deu certo. Porém, trata-se de um banco de dados longo com vários sujeitos. Sendo assim, ele vai empilhar todos os valores de R um embaixo do outro, assim como para T. Assim, se eu tiver 60 valores será fornecida duas colunas, sendo uma de R com 30 valores e uma de T com 30 valores, que na verdade, deveriam ser 4 colunas, snedo 2 com 15 valores cada para R e duas com 15 valores cada para T, já que são de 4 indivíduos. (Não sei se expliquei bem...) Minha intenção é tentar automatizar de forma que não seja necessário fazer a divisão manualmente ou pela função matrix(). Estou tentando outras opções como a do Rodrigo (que é a sua também!) e sempre aparece a mensagem Aviso em Ops.factor(factor(medidas.formulation), (factor(medidas.subject))) : + not meaningful for factors logical(0) quando utilizo dois fatores. Obrigado! Rodrigo Pereira
2011/5/17 Henrique Dallazuanna <wwwhsd@gmail.com>
Rodrigo,
Para mim está é a mesma saida do unstack(x, resposta ~ fator):
unstack(x, resposta ~ fator) R T 1 0.00 0.00 2 2.96 4.01 3 10.28 19.82 4 12.42 17.83 5 15.60 12.74 6 14.23 7.37 7 10.55 7.73 8 8.00 4.70 9 6.12 4.11 10 3.24 3.11 11 2.82 3.19 12 1.18 2.25 13 0.42 0.44 14 0.00 0.16 15 0.00 0.00
Continuo sem entender o que vc precisa...
2011/5/17 Rodrigo Pereira <doforodrigo@gmail.com>:
Henrique, Observando o primeiro exemplo que dei você verá que há três colunas: resposta, fator, sujeito. Este banco está empilhado (formato longo) e gostaria de passar para o formato largo, da seguinte forma: R1 T2 0.00 0,00 2.96 4.01 10,28 19,82 ... ... Sendo que R1 e T2 é a combinação do fator e do sujeito. Um pouco complicado... Se puder me ajudar agradeceria muito! Abraço! Rodrigo Pereira
2011/5/17 Henrique Dallazuanna <wwwhsd@gmail.com>
Rodrigo,
Mas o que vc deseja fazer?
2011/5/17 Rodrigo Pereira <doforodrigo@gmail.com>:
Olá, Paulo. Tentei fazer isso algumas vezes e aparece uma mensagem dizendo o seguinte: testeR<-unstack(dados,resposta~(factor(fator1))+(factor(fator2))) Aviso em Ops.factor((factor(fator1)), (factor(fator2))) : + not meaningful for factors Já tentei modificar algumas coisas, mas ainda não consegui
contornar
este problema. Você poderia me ajudar? Obrigado! Rodrigo Pereira (31)9326 3139
2011/5/17 Paulo Justiniano <paulojus@leg.ufpr.br> > > A solucao do Henrique usa uma formula, portanto voce pode > acrescentar > termos como em > > unstack(x, resposta ~ fator1 + fator2) > > que o agrupamento/ordenacao se dará para as combinacoes dos valores > dos > fatores indicados na formula > > On Tue, 17 May 2011, Rodrigo Pereira wrote: > >> Olá, Henrique. Bom dia. >> Você sabe como posso trabalhar com o unstack() quando tiver dois ou >> mais >> fatores? >> >> Obrigado! >> >> Rodrigo Pereira >> (31)9326 3139 >> >> >> 2011/5/16 Henrique Dallazuanna <wwwhsd@gmail.com> >> Tente assim: >> >> unstack(x, resposta ~ fator) >> >> >> 2011/5/16 Rodrigo Pereira <doforodrigo@gmail.com> >> Caros colegas, >> Estou com um problema básico, mas que não estou conseguindo >> resolver >> (falta de prática com o R...) >> >> Estou com o seguinte banco de dados: >> >> resposta fator sujeito >> 1 0.00 R 1 >> 2 2.96 R 1 >> 3 10.28 R 1 >> 4 12.42 R 1 >> 5 15.60 R 1 >> 6 14.23 R 1 >> 7 10.55 R 1 >> 8 8.00 R 1 >> 9 6.12 R 1 >> 10 3.24 R 1 >> 11 2.82 R 1 >> 12 1.18 R 1 >> 13 0.42 R 1 >> 14 0.00 R 1 >> 15 0.00 R 1 >> 16 0.00 T 2 >> 17 4.01 T 2 >> 18 19.82 T 2 >> 19 17.83 T 2 >> 20 12.74 T 2 >> 21 7.37 T 2 >> 22 7.73 T 2 >> 23 4.70 T 2 >> 24 4.11 T 2 >> 25 3.11 T 2 >> 26 3.19 T 2 >> 27 2.25 T 2 >> 28 0.44 T 2 >> 29 0.16 T 2 >> 30 0.00 T 2 >> >> Estou tentando utilizar a função unstack() para transformar este >> banco >> de >> dados longo em largo da seguinte forma: >> >> R >> >> 0 >> >> >> T >> >> 0 >> >> 2,96 >> >> 4,01 >> >> 10,28 >> >> 19,82 >> >> 12,42 >> >> 17,83 >> >> 15,6 >> >> 12,74 >> >> 14,23 >> >> 7,37 >> >> 10,55 >> >> 7,73 >> >> 8 >> >> 4,7 >> >> 6,12 >> >> 4,11 >> >> 3,24 >> >> 3,11 >> >> 2,82 >> >> 3,19 >> >> 1,18 >> >> 2,25 >> >> 0,42 >> >> 0,44 >> >> 0 >> >> 0,16 >> >> 0 >> >> 0 >> >> >> Alguém sabe como consigo fazer essa mudança com ou sem a função >> unstack()? >> >> Obrigado e abraço! >> >> Rodrigo Pereira >> (31)9326 3139 >> >> _______________________________________________ >> R-br mailing list >> R-br@listas.c3sl.ufpr.br >> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br >> >> >> >> >> -- >> Henrique Dallazuanna >> Curitiba-Paraná-Brasil >> 25° 25' 40" S 49° 16' 22" O >> >> _______________________________________________ >> R-br mailing list >> R-br@listas.c3sl.ufpr.br >> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br >> >> >> > > _______________________________________________ > R-br mailing list > R-br@listas.c3sl.ufpr.br > https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br >
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
-- Henrique Dallazuanna Curitiba-Paraná-Brasil 25° 25' 40" S 49° 16' 22" O _______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
-- Henrique Dallazuanna Curitiba-Paraná-Brasil 25° 25' 40" S 49° 16' 22" O _______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
-- Henrique Dallazuanna Curitiba-Paraná-Brasil 25° 25' 40" S 49° 16' 22" O _______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br