
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