Refondre des data.tables

Combiner des données avec data.table en R

Scott Ritchie

Postdoctoral Researcher in Systems Genomics

Refondre une data.table longue

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

Combiner des données avec data.table en R

La fonction dcast()

La forme générale de dcast() :

dcast(DT, ids ~ group, value.var = "values")
      |   |     |                   |
      |   |     |                    --> colonne à éclater
      |   |      ----------------------> étiquettes de groupe pour l'éclatement
      |    ----------------------------> lignes conservées comme identifiants
       --------------------------------> data.table à remodeler            
Combiner des données avec data.table en R

La fonction dcast()

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

Combiner des données avec data.table en R

Scinder plusieurs colonnes de valeurs

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

Combiner des données avec data.table en R

Identifiants de lignes multiples

Garder plusieurs colonnes comme identifiants de lignes :

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

Combiner des données avec data.table en R

Suppression de colonnes

Seules les colonnes de la formule ou value.var figureront dans le résultat :

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

Combiner des données avec data.table en R

Regroupements multiples

Scinder selon plusieurs colonnes de groupe :

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

Combiner des données avec data.table en R

Conversion en matrice

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
Combiner des données avec data.table en R

Conversion en matrice

as.matrix() peut utiliser une colonne comme noms de lignes de la matrice :

mat <- as.matrix(sales_wide, rownames = "season")
mat
       2015    2016        
Autumn 3420000 3670000
Spring 2950000 3000300
Summer 2980700 3120200
Winter 3200100 3350000
Combiner des données avec data.table en R

Passons à la pratique !

Combiner des données avec data.table en R

Preparing Video For Download...