data.table
data.tabela vs dplyr: czy jeden może zrobić coś dobrze drugi nie może lub robi źle?
Przegląd
Jestem stosunkowo zaznajomiony z data.table, nie tak bardzo z dplyr. Przeczytałem kilka dplyr w 2011 roku, po raz ... 1L, 0L, 0L, 0L, 0L, 0L)), .Names = c("id",
"name", "year", "job", "job2"), class = "data.frame", row.names = c(NA,
-16L))
Co? does.SD / align = "left" / tabela W R
.SD wygląda na przydatny, ale tak naprawdę Nie wiem, co z nim robię. Co to oznacza? Dlaczego jest poprzedzający okres (kropka ... rupowania przez by, keyed by i _ad hoc_ by
Czy to znaczy, że córka data.tableS jest trzymana w pamięci na następną operację?
Zrozumienie dokładnie, kiedy dane.tabela jest odniesieniem do (w porównaniu z kopią) innych danych.tabela
Mam mały problem ze zrozumieniem właściwości pass-by-reference data.table. Niektóre operacje wydają się "łamać" odniesienie i ... upewnić się, że nie wprowadzam potencjalnych błędów w moim kodzie.
Byłbym bardzo wdzięczny, gdyby ktoś mógł to wyjaśnić ja.
Dlaczego X [Y] łączy dane.tabele nie pozwalają na pełne zewnętrzne połączenie lub lewe połączenie?
To jest trochę filozoficzne pytanie o dane.składnia table join. Znajduję coraz więcej zastosowań dla danych.stoły, ale wciąż ... h (wewnętrzne, zewnętrzne, lewe, prawda)? zawiera kilka przykładów dodatkowych typów połączeń, które dane.stół sobie poradzi.
Najszybszy sposób na zastąpienie NAs dużymi danymi.tabela
Mam duże Dane.tabela , z wieloma brakującymi wartościami rozrzuconymi po ~200k wierszach i 200 kolumnach. Chciałbym ponownie ... y z dość wydajnego rozwiązania typu 1. Konwersja na dane.Klatka, a następnie z powrotem do danych.tabela nie bierze za długo.
Dlaczego pandy w Pythonie były szybsze od danych?tabela fuzji W R w 2012 roku?
Ostatnio natknąłem się na pandas bibliotekę dla Pythona, która zgodnie z Ten benchmark wykonuje bardzo szybkie scalanie w pam ... ię do merge(X, Y, all=FALSE) i merge(X, Y, all=TRUE)?
Oto kod R i Kod Pythona używany do porównywania różnych pakietów.
Co można zrobić z danymi.ramka, której nie można z danymi.stolik?
Właśnie zacząłem używać R, i natknąłem się na dane.stolik. Uważam to za genialne.
Bardzo naiwne pytanie: Czy mogę zignorować dane.ramka do wykorzystania danych.tabela aby uniknąć pomyłek składni pomiędzy dwoma pakietami?
.EACHI w danych.stolik?
Nie mogę znaleźć żadnej dokumentacji na temat tego, co dokładnie .EACHI robi w data.table. W tej chwili nie ma nic do rzeczy. ... ś takiego jak DT[i,j,by=my_grouping_variable], ale jestem zdezorientowany, jak .EACHI będzie działać. Czy ktoś może wyjaśnić?
Agregacja / podsumowanie wielu zmiennych w grupie (np. suma, średnia)
Z ramki danych, czy jest łatwy sposób na agregację (sum, mean, max et c) wiele zmiennych jednocześnie?
Poniżej kilka przykła ... les by year month
df2=aggregate(x1 ~ year+month, data=df1, sum, na.rm=TRUE)
head(df2)
Wszelkie sugestie będą mile widziane.
Dlaczego rbindlist jest "lepszy" niż rbind?
Przeglądam dokumentację data.table, a także zauważyłem z niektórych rozmów tutaj na tak, że rbindlist ma być lepszy niż rbind ... ind i w jakich scenariuszach rbindlist naprawdę przewyższa rbind?
Czy jest jakaś korzyść w zakresie wykorzystania pamięci?
Przypisz wiele kolumn używając: = in data.tabela z podziałem na grupy
Jaki jest najlepszy sposób przypisania do wielu kolumn za pomocą data.table? Na przykład:
f <- function(x) {c("hi", "hel ... ym zrobić:
x[ , col_names := another_f(), by = "id", with = FALSE]
Jaki jest prawidłowy sposób, aby zrobić coś takiego?
Jaki jest cel ustawienia klucza w danych.stolik?
Używam danych.table i jest wiele funkcji, które wymagają od mnie ustawienia klucza (np. X[Y]). W związku z tym chciałbym zroz ... st jeszcze bardziej mylące, ponieważ Nie wiem, czy mogę ustawić dowolną inną kolumnę jako klucz. Czy ktoś może mnie oświecić?
Właściwy / najszybszy sposób przekształcania danych.tabela
Mam tabelę danych W R:
library(data.table)
set.seed(1234)
DT <- data.table(x=rep(c(1,2,3),each=4), y=c("A","B"), v=sam ... ch po ich agregacji? Czy jest jakiś sposób, aby połączyć te operacje w jednym kroku, przy użyciu danych.operacje przy stole?
Jak usunąć kolumnę według nazwy w danych.stolik?
Aby pozbyć się kolumny o nazwie " foo " w data.frame, Mogę zrobić:
df <- df[-grep('foo', colnames(df))]
Jednak po przek ... 3 <- data.table(df)
df3[-grep('foo', colnames(df3))]
Ale po przekonwertowaniu na obiekt data.table, to już nie działa.
Wybierz wiele kolumn w danych.tabela według ich indeksów liczbowych
Jak możemy wybrać wiele kolumn za pomocą wektora ich indeksów liczbowych (pozycji) w data.table?
Tak zrobilibyśmy z data.frame:
df <- data.frame(a = 1, b = 2, c = 3)
df[ , 2:3]
# b c
# 1 2 3
Użyj wartości z poprzedniego wiersza w danych R.obliczanie tabeli
Chcę utworzyć nową kolumnę w danych.tabela obliczana na podstawie bieżącej wartości jednej kolumny i poprzedniej drugiej. Cz ... dź powinna brzmieć
> DT
A B C D
1: 1 10 100 NA
2: 2 20 200 210
3: 3 30 300 320
4: 4 40 400 430
5: 5 50 500 540
Podzbiór wierszy odpowiadających wartości maksymalnej według grupy wykorzystującej dane.tabela
Załóżmy, że mam data.table zawierające kilku baseballistów:
library(plyr)
library(data.table)
bdt <- as.data.table(baseb ... t[, .SD[g == max(g)], by = id]
Ale jest tylko o 30% szybszy niż plyr, co sugeruje, że prawdopodobnie nie jest idiomatyczny.
Jak zastosować tę samą funkcję do każdej określonej kolumny danych.tabela
Mam dane.tabelę, z którą chciałbym wykonać tę samą operację na niektórych kolumnach. Nazwy tych kolumn są podane w wektorze ... eval(parse(text = paste0(cols[col], ":=-1*", cols[col])))]
}
Czy istnieje sposób, aby to zrobić bezpośrednio bez pętli for?
Kiedy powinienem użyć operatora:= w danych.stolik?
data.table obiekty mają teraz operator:=. Co odróżnia ten operator od wszystkich innych operatorów przydziałów? Ponadto, jakie są jego zastosowania, o ile szybciej i kiedy należy go unikać?
dplyr na danych.table, czy naprawdę używam danych.stolik?
Jeśli używam składni dplyrna szczycie datatable, czy otrzymam wszystkie korzyści związane z szybkością datatable podczas ko ... ,
MedianPrice = as.numeric(median(price)),
Count = .N), by=cut
] [ order(-Count) ]