[R-br] Dúvida básica
Henrique Dallazuanna
wwwhsd em gmail.com
Terça Maio 17 15:10:38 BRT 2011
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 em 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 em 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 em 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 em gmail.com>
>> >>
>> >> Rodrigo,
>> >>
>> >> Mas o que vc deseja fazer?
>> >>
>> >> 2011/5/17 Rodrigo Pereira <doforodrigo em 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 em 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 em gmail.com>
>> >> >>> Tente assim:
>> >> >>>
>> >> >>> unstack(x, resposta ~ fator)
>> >> >>>
>> >> >>>
>> >> >>> 2011/5/16 Rodrigo Pereira <doforodrigo em 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 em 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 em listas.c3sl.ufpr.br
>> >> >>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>
>> >> >> _______________________________________________
>> >> >> R-br mailing list
>> >> >> R-br em listas.c3sl.ufpr.br
>> >> >> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>> >> >>
>> >> >
>> >> >
>> >> > _______________________________________________
>> >> > R-br mailing list
>> >> > R-br em 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 em listas.c3sl.ufpr.br
>> >> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>> >
>> >
>> > _______________________________________________
>> > R-br mailing list
>> > R-br em 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 em listas.c3sl.ufpr.br
>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>
>
> _______________________________________________
> R-br mailing list
> R-br em 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
Mais detalhes sobre a lista de discussão R-br