data.table Tutoriel
Démarrer avec data.table
Recherche…
Remarques
Data.table est un package pour l'environnement informatique statistique R. Il étend la fonctionnalité des trames de données à partir de la base R, améliorant particulièrement leurs performances et leur syntaxe. Un certain nombre de tâches connexes, y compris les jointures roulantes et non-égales, sont gérées dans une syntaxe concise et cohérente, telle que DT[where, select|update|do, by]
.
Un certain nombre de fonctions complémentaires sont également incluses dans le package:
- I / O:
fread
/fwrite
- Remodelage:
melt
/dcast
/rbindlist
/split
-
rleid
de valeurs:rleid
Versions
Version | Remarques | Date de sortie sur CRAN |
---|---|---|
1.9.4 | 2014-10-02 | |
1.9.6 | 2015-09-19 | |
1.9.8 | 2016-11-24 | |
1.10.0 | "Avec le recul, la dernière version v1.9.8 aurait dû être nommée v1.10.0" | 2016-12-03 |
1.10.1 | En développement | 2016-12-03 |
Installation et configuration
Installez la version stable de CRAN:
install.packages("data.table")
Ou la version de développement de github:
install.packages("data.table", type = "source",
repos = "http://Rdatatable.github.io/data.table")
Pour revenir de devel à CRAN, la version actuelle doit d'abord être supprimée:
remove.packages("data.table")
install.packages("data.table")
Visitez le site Web pour obtenir les instructions d'installation complètes et les derniers numéros de version.
Utiliser le paquet
Habituellement, vous voudrez charger le paquet et toutes ses fonctions avec une ligne comme
library(data.table)
Si vous n'avez besoin que d'une ou deux fonctions, vous pouvez vous y référer comme data.table::fread
.
Démarrer et trouver de l'aide
Le wiki officiel du paquet contient des matériaux essentiels:
En tant que nouvel utilisateur, vous souhaiterez consulter les vignettes, les FAQ et l’intercalaire .
Avant de poser une question - ici sur StackOverflow ou ailleurs - veuillez lire la page de support .
Pour obtenir de l'aide sur des fonctions individuelles, la syntaxe est help("fread")
ou ?fread
. Si le paquet n'a pas été chargé, utilisez le nom complet comme ?data.table::fread
.
Syntaxe et fonctionnalités
Syntaxe de base
DT[where, select|update|do, by]
syntaxe DT[where, select|update|do, by]
est utilisée pour travailler avec des colonnes d'un data.table.
- La partie "where" est l'argument
i
- La partie "select | update | do" est l'argument
j
Ces deux arguments sont généralement passés par position plutôt que par nom.
Une séquence d'étapes peut être chaînée comme DT[...][...]
.
Raccourcis, fonctions spéciales et symboles spéciaux dans DT[...]
Fonction ou symbole | Remarques |
---|---|
.() | dans plusieurs arguments, remplace la list() |
J() | dans i , remplace la list() |
:= | en j , une fonction utilisée pour ajouter ou modifier des colonnes |
.N | dans i , le nombre total de lignes en j , le nombre de lignes d'un groupe |
.I | dans j , le vecteur des numéros de ligne dans le tableau (filtré par i ) |
.SD | en j , le sous-ensemble actuel des données sélectionné par l'argument .SDcols |
.GRP | dans j , l'index actuel du sous-ensemble des données |
.BY | dans j , la liste des sous-valeurs pour le sous-ensemble de données actuel |
V1, V2, ... | noms par défaut pour les colonnes sans nom créées dans j |
Se joint à DT[...]
Notation | Remarques |
---|---|
DT1[DT2, on, j] | joindre deux tables |
i.* | préfixe spécial sur les colonnes de DT2 après la jointure |
by=.EACHI | option spéciale disponible uniquement avec une jointure |
DT1[!DT2, on, j] | anti-joint deux tables |
DT1[DT2, on, roll, j] | joindre deux tables, en roulant sur la dernière colonne dans on= |
Remodelage, empilement et fractionnement
Notation | Remarques |
---|---|
melt(DT, id.vars, measure.vars) | transformer en format long pour plusieurs colonnes, utilisez measure.vars = patterns(...) |
dcast(DT, formula) | transformer en format large |
rbind(DT1, DT2, ...) | Data.tables énumérées par pile |
rbindlist(DT_list, idcol) | empiler une liste de data.tables |
split(DT, by) | diviser un data.table en une liste |
Quelques autres fonctions spécialisées pour data.tables
Les fonctions) | Remarques |
---|---|
foverlaps | chevauchement des jointures |
merge | une autre façon de joindre deux tables |
set | une autre façon d'ajouter ou de modifier des colonnes |
fintersect , fsetdiff , funion , fsetequal , unique , duplicated , anyDuplicated | opérations de théorie des ensembles avec des lignes en tant qu'éléments |
CJ | le produit cartésien de vecteurs |
uniqueN | le nombre de lignes distinctes |
rowidv(DT, cols) | ID de ligne (1 à .N) dans chaque groupe déterminé par les cols |
rleidv(DT, cols) | ID de groupe (1 à .GRP) dans chaque groupe déterminé par des exécutions de cols |
shift(DT, n) | appliquer un opérateur de décalage à chaque colonne |
setorder , setcolorder , setnames , setkey , setindex , setattr | modifier les attributs et ordonner par référence |
Autres caractéristiques du package
Caractéristiques | Remarques |
---|---|
IDate et ITime | dates et heures entières |