Pytania oznaczone «data.table»

Pakiet R data.table jest rozszerzeniem pliku data.frame zbudowanym w celu szybkiej analizy danych w pamięci. Użyj tagu dt dla pakietu DataTables z Shiny (DT).

195
Jak usunąć kolumnę według nazwy w data.table?

Aby pozbyć się kolumny o nazwie „foo” w data.frame, mogę: df <- df[-grep('foo', colnames(df))] Jednak po dfprzekonwertowaniu na data.tableobiekt nie ma sposobu, aby po prostu usunąć kolumnę. Przykład: df <- data.frame(id = 1:100, foo = rnorm(100)) df2 <- df[-grep('foo', colnames(df))]...

173
Co oznacza .SD w data.table w R

.SDwygląda na przydatne, ale tak naprawdę nie wiem, co z nim robię. Co to oznacza? Dlaczego występuje poprzednia kropka (kropka). Co się dzieje, gdy go używam? Czytałem: .SDto zbiór data.tablezawierający podzbiór xdanych dla każdej grupy, z wyłączeniem kolumn grup. Może być używany podczas...

150
Jak usunąć wiersz przez odwołanie w data.table?

Moje pytanie dotyczy przydzielania zadań przez referencje a kopiowania data.table. Chcę wiedzieć, czy można usuwać wiersze przez odniesienie, podobnie do DT[ , someCol := NULL] Chcę wiedzieć DT[someRow := NULL, ] Wydaje mi się, że istnieje dobry powód, dla którego ta funkcja nie istnieje, więc...

141
Zastąpienie NA najnowszą wartością inną niż NA

W data.frame (lub data.table) chciałbym „wypełnić do przodu” NA najbliższą poprzednią wartością inną niż NA. Prosty przykład użycia wektorów (zamiast a data.frame) jest następujący: > y <- c(NA, 2, 2, NA, NA, 3, NA, 4, NA, NA) Chciałbym mieć funkcję, fill.NAs()która pozwoliłaby mi...

135
Dlaczego rbindlist jest „lepszy” niż rbind?

Przeglądam dokumentację data.tablei zauważyłem z niektórych rozmów tutaj na SO, który rbindlistpowinien być lepszy niż rbind. Chciałbym wiedzieć, dlaczego jest rbindlistlepszy niż rbindiw których scenariuszach rbindlistnaprawdę się sprawdza rbind? Czy jest jakaś korzyść pod względem wykorzystania...

118
Konwertuj klasy kolumn w data.table

Mam problem z użyciem data.table: Jak przekonwertować klasy kolumn? Oto prosty przykład: z data.frame nie mam problemu z konwersją, z data.table po prostu nie wiem jak: df <- data.frame(ID=c(rep("A", 5), rep("B",5)), Quarter=c(1:5, 1:5), value=rnorm(10)) #One way:

118
Jak zmienić kolejność kolumn data.table (bez kopiowania)

Chciałbym zmienić kolejność kolumn w moim data.table x, biorąc pod uwagę wektor znaków nazw kolumn neworder: library(data.table) x <- data.table(a = 1:3, b = 3:1, c = runif(3)) neworder <- c("c", "b", "a") Oczywiście mogłem zrobić: x[ , neworder, with = FALSE] # or x[ , ..neworder] # c b...

113
Jaki jest cel ustawiania klucza w data.table?

Używam data.table i jest wiele funkcji, które wymagają ustawienia klucza (np X[Y].). W związku z tym chciałbym zrozumieć, co robi klucz, aby poprawnie ustawić klucze w moich tabelach danych. Jednym ze źródeł, które przeczytałem, było ?setkey. setkey()sortuje a data.tablei zaznacza jako...

103
Czyszczenie wartości „Inf” z ramki danych R.

W R mam operację, która tworzy pewne Infwartości, gdy przekształcam ramkę danych. Chciałbym zamienić te Infwartości na NAwartości. Kod, który mam, jest wolny w przypadku dużych danych, czy istnieje szybszy sposób na zrobienie tego? Powiedzmy, że mam następującą ramkę danych: dat <-...

93
Uzyskiwanie najwyższych wartości według grup

Oto przykładowa ramka danych: d <- data.frame( x = runif(90), grp = gl(3, 30) ) Chcę, aby podzbiór dzawierał wiersze z 5 górnymi wartościami xdla każdej wartości grp. Używając base-R, moje podejście wyglądałoby mniej więcej tak: ordered <- d[order(d$x, decreasing = TRUE), ] splits...