Convertendo data.tables

Combinando dados com data.table em R

Scott Ritchie

Postdoctoral Researcher in Systems Genomics

Convertendo um data.table longo

sales_wide <- dcast(sales_long, quarter ~ year, value.var = "amount")

Combinando dados com data.table em R

A função dcast()

A forma geral de dcast():

dcast(DT, ids ~ group, value.var = "values")
      |   |     |                   |
      |   |     |                    --> coluna a dividir
      |   |      ----------------------> rótulos de grupo para dividir
      |    ----------------------------> linhas mantidas como identificadores
       --------------------------------> data.table a remodelar            
Combinando dados com data.table em R

A função dcast()

sales_wide <- dcast(sales_long, quarter ~ year, value.var = "amount")

Combinando dados com data.table em R

Dividindo várias colunas de valores

dcast(profit_long, quarter ~ year, value.var = c("revenue", "profit"))

Combinando dados com data.table em R

Vários identificadores de linha

Mantenha várias colunas como identificadores de linha:

dcast(sales_long, quarter + season ~ year, value.var = "amount")

Combinando dados com data.table em R

Descartando colunas

Apenas colunas na fórmula ou em value.var estarão no resultado:

sales_wide <- dcast(sales_long, quarter ~ year, value.var = "amount")

Combinando dados com data.table em R

Agrupamentos múltiplos

Divida por múltiplas colunas de grupo:

dcast(sales_long, quarter ~ department + year, value.var = "amount")

Combinando dados com data.table em R

Convertendo para matriz

sales_wide <- dcast(sales_long, season ~ year, value.var = "amount")
sales_wide
   season    2015    2016
1: Autumn 3420000 3670000
2: Spring 2950000 3000300
3: Summer 2980700 3120200
4: Winter 3200100 3350000
Combinando dados com data.table em R

Convertendo para matriz

as.matrix() pode usar uma das colunas como nomes das linhas da matriz:

mat <- as.matrix(sales_wide, rownames = "season")
mat
       2015    2016        
Autumn 3420000 3670000
Spring 2950000 3000300
Summer 2980700 3120200
Winter 3200100 3350000
Combinando dados com data.table em R

Vamos praticar!

Combinando dados com data.table em R

Preparing Video For Download...