data.table Handledning
Komma igång med data.table
Sök…
Anmärkningar
Data.table är ett paket för den statistiska datormiljön R. Det utökar funktionaliteten för dataramar från bas R, vilket förbättrar särskilt deras prestanda och syntax. Ett antal relaterade uppgifter, inklusive rullande och icke-equi-sammanfogningar, hanteras i en konsekvent kort syntax som DT[where, select|update|do, by]
.
Ett antal kompletterande funktioner ingår också i paketet:
- I / O:
fread
/fwrite
- Omformning:
melt
/dcast
/rbindlist
/split
- Värden
rleid
:rleid
versioner
Version | anteckningar | Utgivningsdatum på CRAN |
---|---|---|
1.9.4 | 2014/10/02 | |
1.9.6 | 2015/09/19 | |
1.9.8 | 2016/11/24 | |
1.10.0 | "I efterhand borde den senaste versionen v1.9.8 ha fått namnet v1.10.0" | 2016/12/03 |
1.10.1 | Under utveckling | 2016/12/03 |
Installation och installation
Installera den stabila utgåvan från CRAN:
install.packages("data.table")
Eller utvecklingsversionen från github:
install.packages("data.table", type = "source",
repos = "http://Rdatatable.github.io/data.table")
För att återgå från utvecklingen till CRAN måste den aktuella versionen först tas bort:
remove.packages("data.table")
install.packages("data.table")
Besök webbplatsen för fullständig installationsinstruktion och de senaste versionerna.
Använda paketet
Vanligtvis vill du ladda paketet och alla dess funktioner med en linje som
library(data.table)
Om du bara behöver en eller två funktioner kan du hänvisa till dem som data.table::fread
istället.
Komma igång och hitta hjälp
Paketets officiella wiki har några väsentliga material:
Som ny användare vill du kolla in vinjetter, FAQ och fuskark .
Innan du ställer en fråga - här på StackOverflow eller någon annanstans - läs supportsidan .
För hjälp med enskilda funktioner är syntaxen help("fread")
eller ?fread
. Om paketet inte har laddats, använd det fulla namnet som ?data.table::fread
.
Syntax och funktioner
Grundläggande syntax
DT[where, select|update|do, by]
syntax används för att arbeta med kolumner i en data.table.
- "Var" -delen är
i
argumentet - Delen "select | update | do" är
j
argumentet
Dessa två argument skickas vanligtvis efter position istället för med namn.
En sekvens av steg kan kedjas som DT[...][...]
.
Genvägar, specialfunktioner och specialsymboler inuti DT[...]
Funktion eller symbol | anteckningar |
---|---|
.() | ersätter list() i flera argument list() |
J() | i i , ersätter list() |
:= | i j , en funktion som används för att lägga till eller ändra kolumner |
.N | i i , det totala antalet rader i j , antalet rader i en grupp |
.I | i j , vektorn med radnumren i tabellen (filtrerad av i ) |
.SD | i j , den aktuella delmängden av data valt av .SDcols argumentet |
.GRP | i j , det aktuella indexet för delmängden av data |
.BY | i j , listan med efter värden för den aktuella datamängden |
V1, V2, ... | standardnamn för namngivna kolumner skapade i j |
Går in i DT[...]
Notation | anteckningar |
---|---|
DT1[DT2, on, j] | gå med i två bord |
i.* | speciellt prefix på DT2s kolumner efter anslutningen |
by=.EACHI | specialalternativ endast tillgängligt med en koppling |
DT1[!DT2, on, j] | anti-gå med två bord |
DT1[DT2, on, roll, j] | gå med i två tabeller och rulla på den sista kolumnen i on= |
Omforma, stapla och dela om
Notation | anteckningar |
---|---|
melt(DT, id.vars, measure.vars) | omvandla till långt format för flera kolumner, använd measure.vars = patterns(...) |
dcast(DT, formula) | omvandla till brett format |
rbind(DT1, DT2, ...) | stapla uppräknade data.tabeller |
rbindlist(DT_list, idcol) | stapla en lista med data.tabeller |
split(DT, by) | dela upp en data.table i en lista |
Vissa andra funktioner specialiserade för data.tables
Funktion (er) | anteckningar |
---|---|
foverlaps | överlappning går samman |
merge | ett annat sätt att gå med i två bord |
set | ett annat sätt att lägga till eller ändra kolumner |
fintersect , fsetdiff , funion , fsetequal , unique , duplicated , anyDuplicated | uppsättningsteorioperationer med rader som element |
CJ | den kartesiska produkten av vektorer |
uniqueN | antalet olika rader |
rowidv(DT, cols) | rad-ID (1 till. N) inom varje grupp bestämd av kolonner |
rleidv(DT, cols) | grupp-ID (1 till. GRP) inom varje grupp bestämd genom körningar av kol |
shift(DT, n) | applicera en skiftoperatör på varje kolumn |
setorder , setcolorder , setnames , setkey , setindex , setattr | ändra attribut och ordning efter referens |
Andra funktioner i paketet
Funktioner | anteckningar |
---|---|
IDate och ITime | heltal datum och tider |