[R-br] Ajuda (possivelmente simples) para reestruturar um data.frame
Benilton Carvalho
beniltoncarvalho em gmail.com
Quarta Julho 13 14:01:24 BRT 2011
do.call(cbind, split(df, df[['tra']]))
2011/7/13 Jose Claudio Faria <joseclaudio.faria em gmail.com>:
> Pessoal,
>
> Ajuda ai que estou travado!
>
> #Tenho isso (desconsiderar a numeração das linhas)
> tra r y
> 1 A 1 2.70
> 2 A 2 3.02
> 3 A 3 3.25
> 4 A 4 3.21
> 5 A 5 3.04
> 6 A 6 3.07
> 7 B 1 1.16
> 8 B 2 1.16
> 9 B 3 0.91
> 10 B 4 0.93
> 11 B 5 0.82
> 12 B 6 0.71
> 13 C 1 3.01
> 14 C 2 2.91
> 15 C 3 3.14
> 16 C 4 2.96
> 17 C 5 3.01
> 18 C 6 2.93
> 19 D 1 4.88
> 20 D 2 4.68
> 21 D 3 5.20
> 22 D 4 4.94
> 23 D 5 5.34
> 24 D 6 5.07
> 25 E 1 4.89
> 26 E 2 5.26
> 27 E 3 5.07
> 28 E 4 5.14
> 29 E 5 5.47
> 30 E 6 4.98
>
> # Para economizar espaço em um relatório (que uso muito) preciso disso (idem):
> tra r y tra r y tra r y tra r y tra r y
> 1 A 1 2.70 B 1 1.16 C 1 3.01 D 1 4.88 E 1 4.89
> 2 A 2 3.02 B 2 1.16 C 2 2.91 D 2 4.68 E 2 5.26
> 3 A 3 3.25 B 3 0.91 C 3 3.14 D 3 5.20 E 3 5.07
> 4 A 4 3.21 B 4 0.93 C 4 2.96 D 4 4.94 E 4 5.14
> 5 A 5 3.04 B 5 0.82 C 5 3.01 D 5 5.34 E 5 5.47
> 6 A 6 3.07 B 6 0.71 C 6 2.93 D 6 5.07 E 6 4.98
>
> # Fiz na "mão grande" usando "cbind" assim
> dados.tb <- cbind(dados.q1[1:6,],
> dados.q1[7:12,],
> dados.q1[13:18,],
> dados.q1[19:24,],
> dados.q1[25:30,])
>
> Contudo, creio que deve ter uma solução mais racional e genérica para
> quando mudar o número de tratamentos e repetições!
> Tentei split, pacotes doBy e reshape, mas não fui bem sucedido.
>
> Para reprodução de possível solução pode usar 'df' abaixo:
>
> df <- data.frame(gl(n=5, k=6, lab=LETTERS[1:5]), rep(1:6, 5), 1:30)
> names(df) <- c('tra', 'r', 'y')
>
> Abs,
> --
> ///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\
> Jose Claudio Faria
> Estatistica - prof. Pleno
> UESC/DCET/Brasil
> joseclaudio.faria em gmail.com
> ///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
>
--
Successful people ask better questions, and as a result, they get
better answers. (Tony Robbins)
Mais detalhes sobre a lista de discussão R-br