[R-br] Ajuda (possivelmente simples) para reestruturar um data.frame
Jose Claudio Faria
joseclaudio.faria em gmail.com
Quarta Julho 13 13:50:53 BRT 2011
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
///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\
Mais detalhes sobre a lista de discussão R-br