O R oferece uma variedade de métodos para remodelar os dados antes da análise.
Transpor
Use a função t() para transpor uma matriz ou um quadro de dados. Nesse último caso, os rownames se tornam nomes de variáveis (colunas).
# example using built-in dataset
mtcars
t(mtcars)
O pacote Reshape
Hadley Wickham criou um pacote abrangente chamado reshape para massagear dados. Você pode encontrar uma introdução e um artigo. Há até um vídeo!
Basicamente, você "derrete" os dados para que cada linha seja uma combinação exclusiva de id e variável. Em seguida, você "molda" os dados derretidos em qualquer formato que desejar. Aqui está um exemplo muito simples.
mydata
id
tempo
x1
x2
1
1
5
6
1
2
3
5
2
1
6
1
2
2
2
4
# example of melt function
library(reshape)
mdata <- melt(mydata, id=c("id","time"))
newdata
id
tempo
variável
valor
1
1
x1
5
1
2
x1
3
2
1
x1
6
2
2
x1
2
1
1
x2
6
1
2
x2
5
2
1
x2
1
2
2
x2
4
# cast the melted data
# cast(data, formula, function)
subjmeans <- cast(mdata, id~variable, mean)
timemeans <- cast(mdata, time~variable, mean)
subjmeans
id
x1
x2
1
4
5.5
2
4
2.5
intervalos de tempo
tempo
x1
x2
1
5.5
3.5
2
2.5
4.5
Há muito mais que você pode fazer com as funções melt( ) e cast( ). Consulte a documentação para obter mais detalhes.