[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