Pular para o conteúdo principal

Reformulando dados no R

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

    
idtempox1x2
1156
1235
2161
2224
# example of melt function
library(reshape)
mdata <- melt(mydata, id=c("id","time"))

newdata

    
idtempovariávelvalor
11x15
12x13
21x16
22x12
11x26
12x25
21x21
22x24
# cast the melted data
# cast(data, formula, function)
subjmeans <- cast(mdata, id~variable, mean)
timemeans <- cast(mdata, time~variable, mean)

subjmeans

   
idx1x2
145.5
242.5

intervalos de tempo

   
tempox1x2
15.53.5
22.54.5

Há muito mais que você pode fazer com as funções melt( ) e cast( ). Consulte a documentação para obter mais detalhes.

Indo além

Para praticar a manipulação de dados, experimente este curso sobre limpeza de dados em R.