data.table Samouczek
Rozpoczęcie pracy z data.table
Szukaj…
Uwagi
Data.table to pakiet dla środowiska obliczeń statystycznych R. Rozszerza funkcjonalność ramek danych od podstawy R, szczególnie poprawiając ich wydajność i składnię. Szereg powiązanych zadań, w tym zwijanie i łączenia nierówne, obsługiwane są w spójnej, zwięzłej składni, takiej jak DT[where, select|update|do, by]
.
Pakiet zawiera również szereg dodatkowych funkcji:
- I / O:
fread
/fwrite
- Przekształcanie:
melt
/dcast
/rbindlist
/split
- Przebiegi wartości:
rleid
Wersje
Wersja | Notatki | Data wydania w CRAN |
---|---|---|
1.9.4 | 02.10.2014 | |
1.9.6 | 19.09.2015 | |
1.9.8 | 24.11.2016 | |
1.10.0 | „Z perspektywy czasu ostatnia wersja v1.9.8 powinna mieć nazwę v1.10.0” | 2016-12-03 |
1.10.1 | W rozwoju | 2016-12-03 |
Instalacja i konfiguracja
Zainstaluj stabilną wersję z CRAN:
install.packages("data.table")
Lub wersja rozwojowa z github:
install.packages("data.table", type = "source",
repos = "http://Rdatatable.github.io/data.table")
Aby przywrócić devel do CRAN, należy najpierw usunąć bieżącą wersję:
remove.packages("data.table")
install.packages("data.table")
Odwiedź stronę internetową, aby uzyskać pełne instrukcje instalacji i najnowsze numery wersji.
Korzystanie z pakietu
Zwykle będziesz chciał załadować pakiet i wszystkie jego funkcje linią podobną do tej
library(data.table)
Jeśli potrzebujesz tylko jednej lub dwóch funkcji, możesz odwoływać się do nich jak data.table::fread
.
Pierwsze kroki i znalezienie pomocy
Oficjalna wiki pakietu zawiera kilka niezbędnych materiałów:
Jako nowy użytkownik będziesz chciał sprawdzić winiety, FAQ i ściągawki .
Przed zadaniem pytania - tutaj na StackOverflow lub gdziekolwiek indziej - przeczytaj stronę pomocy technicznej .
Aby uzyskać pomoc dotyczącą poszczególnych funkcji, składnia to help("fread")
lub ?fread
. Jeśli pakiet nie został załadowany, użyj pełnej nazwy jak ?data.table::fread
.
Składnia i funkcje
Podstawowa składnia
Składnia DT[where, select|update|do, by]
jest używana do pracy z kolumnami tabeli danych.
- Część „gdzie” to argument
i
- Część „select | update | do” jest argumentem
j
Te dwa argumenty są zwykle przekazywane według pozycji zamiast nazwy.
Sekwencja kroków może być powiązana jak DT[...][...]
.
Skróty, funkcje specjalne i specjalne symbole wewnątrz DT[...]
Funkcja lub symbol | Notatki |
---|---|
.() | w kilku argumentach zastępuje list() |
J() | w i , zastępuje list() |
:= | w j funkcja używana do dodawania lub modyfikowania kolumn |
.N | w i , łączna liczba wierszy j liczba wierszy w grupie |
.I | w j wektor liczb wierszy w tabeli (filtrowany przez i ) |
.SD | w j bieżący podzbiór danych wybrane przez argument .SDcols |
.GRP | w j bieżący indeks podzbioru danych |
.BY | w j lista wartości według dla bieżącego podzbioru danych |
V1, V2, ... | domyślne nazwy nienazwanych kolumn utworzonych w j |
Łączy się w DT[...]
Notacja | Notatki |
---|---|
DT1[DT2, on, j] | połącz dwa stoliki |
i.* | specjalny prefiks w kolumnach DT2 po złączeniu |
by=.EACHI | specjalna opcja dostępna tylko z łączeniem |
DT1[!DT2, on, j] | anti-join dwie tabele |
DT1[DT2, on, roll, j] | połącz dwie tabele, przewijając ostatnią kolumnę w on= |
Przekształcanie, układanie w stosy i dzielenie
Notacja | Notatki |
---|---|
melt(DT, id.vars, measure.vars) | przekształcić do długiego formatu dla wielu kolumn użyj measure.vars = patterns(...) |
dcast(DT, formula) | przekształcić do formatu szerokiego |
rbind(DT1, DT2, ...) | stos wyliczonych data.tables |
rbindlist(DT_list, idcol) | ułóż listę danych w tabelach |
split(DT, by) | podziel tabelę danych na listę |
Niektóre inne funkcje wyspecjalizowane w tabelach danych
Funkcje) | Notatki |
---|---|
foverlaps | nakładanie połączeń |
merge | inny sposób łączenia dwóch tabel |
set | inny sposób dodawania lub modyfikowania kolumn |
fintersect , fsetdiff , funion , fsetequal , unique , duplicated , anyDuplicated | operacje teorii zbiorów z wierszami jako elementami |
CJ | iloczyn kartezjański wektorów |
uniqueN | liczba różnych wierszy |
rowidv(DT, cols) | identyfikator wiersza (od 1 do .N) w każdej grupie określony kols |
rleidv(DT, cols) | ID grupy (od 1 do .GRP) w każdej grupie określone przez przebiegi kolumn |
shift(DT, n) | zastosuj operator zmiany do każdej kolumny |
setorder , setcolorder , setnames , setkey , setindex , setattr | modyfikuj atrybuty i porządek przez odniesienie |
Inne funkcje pakietu
cechy | Notatki |
---|---|
IDate i ITime | całkowite daty i godziny |