Bienvenue dans le cours !

Manipulation de données avec data.table en R

Matt Dowle and Arun Srinivasan

Instructors, DataCamp

Qu'est-ce qu'un data.table ?

  • data.frame amélioré
    • Hérite de et étend data.frame
  • Structure de données en colonnes
  • Chaque colonne doit avoir la même longueur, mais peut être de type différent
Manipulation de données avec data.table en R

Pourquoi utiliser data.table ?

  • Syntaxe concise et cohérente
    • Penser en termes de rows, columns et groups
    • Fournit un substitut pour chacun
# General form of data.table syntax
DT[i, j, by]
   |  |  |
   |  |  --> groupé par quoi ?
   |  -----> que faire ?
   --------> sur quelles lignes ?
Manipulation de données avec data.table en R

benchmark

Manipulation de données avec data.table en R

Pourquoi utiliser data.table ?

Manipulation de données avec data.table en R

Créer un data.table

Trois façons de créer des tables de données :

  • data.table()
  • as.data.table()
  • fread()
Manipulation de données avec data.table en R

Créer un data.table

library(data.table)
x_df <- data.frame(id = 1:2, name = c("a", "b"))
x_df
id name
 1    a
 2    b
x_dt <- data.table(id = 1:2, name = c("a", "b"))
x_dt
id name
 1    a
 2    b
Manipulation de données avec data.table en R

Créer un data.table

y <- list(id = 1:2, name = c("a", "b"))
y
$id
1 2
$name
"a" "b"
x <- as.data.table(y)
x
id name
 1    a
 2    b
Manipulation de données avec data.table en R

data.table et data.frame (I)

Puisqu'un data.table est un data.frame…

x <- data.table(id = 1:2, 
                name = c("a", "b"))
x
id name
 1    a
 2    b
class(x)
"data.table" "data.frame"
Manipulation de données avec data.table en R

data.table et data.frame (II)

Les fonctions pour interroger des data.frames fonctionnent aussi sur les data.tables

nrow(x)
2
ncol(x)
2
dim(x)
2 2
Manipulation de données avec data.table en R

data.table et data.frame (III)

Un data.table ne convertit jamais automatiquement les colonnes de caractères en facteurs

x_df <- data.frame(id = 1:2, name = c("a", "b"))
class(x_df$name)
"factor"
x_dt <- data.table(id = 1:2, name = c("a", "b"))
class(x_dt$name)
"character"
Manipulation de données avec data.table en R

data.table et data.frame (IV)

N'établit, ne nécessite ni n'utilise jamais de noms de lignes

rownames(x_dt) <- c("R1", "R2")
x_dt
   id name
1:  1    a
2:  2    b
Manipulation de données avec data.table en R

Passons à la pratique !

Manipulation de données avec data.table en R

Preparing Video For Download...