Als «data.table» getaggte Fragen

Das R data.table-Paket ist eine Erweiterung von data.frame, die für eine schnelle speicherinterne Datenanalyse entwickelt wurde. Verwenden Sie das dt-Tag für das DataTables-Paket mit Shiny (DT).

194
Wie löscht man eine Spalte nach Namen in data.table?

Um eine Spalte mit dem Namen "foo" in a loszuwerden data.frame, kann ich Folgendes tun: df <- df[-grep('foo', colnames(df))] Sobald dfes jedoch in ein data.tableObjekt konvertiert wurde , gibt es keine Möglichkeit, nur eine Spalte zu entfernen. Beispiel: df <- data.frame(id = 1:100, foo =...

172
Wofür steht .SD in data.table in R.

.SDsieht nützlich aus, aber ich weiß nicht wirklich, was ich damit mache. Für was steht das? Warum gibt es eine vorhergehende Periode (Punkt). Was passiert, wenn ich es benutze? I gelesen: .SDein data.tabledie Teilmenge von enthaltende xs - Daten für jede Gruppe, mit Ausnahme der Spalte Gruppe...

150
Wie lösche ich eine Zeile als Referenz in data.table?

Meine Frage bezieht sich auf die Zuweisung durch Referenz oder das Kopieren in data.table. Ich möchte wissen, ob man Zeilen durch Referenz löschen kann, ähnlich wie DT[ , someCol := NULL] Ich möchte es wissen DT[someRow := NULL, ] Ich denke, es gibt einen guten Grund, warum diese Funktion nicht...

141
Ersetzen von NAs durch den neuesten Nicht-NA-Wert

In einem data.frame (oder einer data.table) möchte ich NAs mit dem nächsten vorherigen Nicht-NA-Wert "vorwärts füllen". Ein einfaches Beispiel für die Verwendung von Vektoren (anstelle von a data.frame) ist das folgende: > y <- c(NA, 2, 2, NA, NA, 3, NA, 4, NA, NA) Ich möchte eine Funktion...

135
Warum ist rbindlist "besser" als rbind?

Ich gehe die Dokumentation von data.tableund habe auch einige der Gespräche hier auf SO bemerkt rbindlist, die besser sein sollen als rbind. Ich würde gerne wissen, warum es rbindlistbesser ist als rbindund in welchen Szenarien sich das rbindlistwirklich auszeichnet rbind. Gibt es einen Vorteil...

118
So ordnen Sie data.table-Spalten neu an (ohne zu kopieren)

Ich möchte Spalten in meinem Ordner data.table xmit einem Zeichenvektor aus Spaltennamen neu anordnen neworder: library(data.table) x <- data.table(a = 1:3, b = 3:1, c = runif(3)) neworder <- c("c", "b", "a") Natürlich könnte ich tun: x[ , neworder, with = FALSE] # or x[ , ..neworder] # c b a...

118
Konvertieren Sie Spaltenklassen in data.table

Ich habe ein Problem bei der Verwendung von data.table: Wie konvertiere ich Spaltenklassen? Hier ein einfaches Beispiel: Mit data.frame habe ich kein Problem beim Konvertieren, mit data.table weiß ich einfach nicht wie: df <- data.frame(ID=c(rep("A", 5), rep("B",5)), Quarter=c(1:5, 1:5),...

113
Was ist der Zweck des Festlegens eines Schlüssels in data.table?

Ich verwende data.table und es gibt viele Funktionen, bei denen ich einen Schlüssel setzen muss (z X[Y]. B. ). Daher möchte ich verstehen, was ein Schlüssel tut, um Schlüssel in meinen Datentabellen richtig festzulegen. Eine Quelle, die ich las, war ?setkey. setkey()sortiert a data.tableund...

101
Bereinigen von Inf-Werten aus einem R-Datenrahmen

In R habe ich eine Operation, die Infbeim Transformieren eines Datenrahmens einige Werte erstellt. Ich möchte diese InfWerte in NAWerte verwandeln . Der Code, den ich habe, ist für große Datenmengen langsam. Gibt es eine schnellere Möglichkeit, dies zu tun? Angenommen, ich habe den folgenden...

91
Abrufen der Top-Werte nach Gruppe

Hier ist ein Beispieldatenrahmen: d <- data.frame( x = runif(90), grp = gl(3, 30) ) Ich möchte die Teilmenge dder Zeilen mit den Top 5 Werten von xfür jeden Wert von grp. Mit base-R wäre mein Ansatz ungefähr so: ordered <- d[order(d$x, decreasing = TRUE), ] splits <- split(ordered,...