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).

8
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), value=rnorm(10)) #One way: http://stackoverflow.com/questions/2851015/r-convert-data-frame-columns-from-factors-to-characters df <- data.frame(lapply(df, as.character), stringsAsFactors=FALSE) #Another way …
118 r  data.table 

2
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 markiert es als sortiert. Die sortierten …
113 r  data.table 

8
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 Datenrahmen: dat <- data.frame(a=c(1, Inf), …
101 r  dataframe  data.table 

5
Was ist der schnellste Weg, um data.frames in R zusammenzuführen / zu verbinden?
Zum Beispiel (nicht sicher, ob das repräsentativste Beispiel): N <- 1e6 d1 <- data.frame(x=sample(N,N), y1=rnorm(N)) d2 <- data.frame(x=sample(N,N), y2=rnorm(N)) Das habe ich bisher: d <- merge(d1,d2) # 7.6 sec library(plyr) d <- join(d1,d2) # 2.9 sec library(data.table) dt1 <- data.table(d1, key="x") dt2 <- data.table(d2, key="x") d <- data.frame( dt1[dt2,list(x,y1,y2=dt2$y2)] ) …

6
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, ordered$grp) …
91 r  data.table  dplyr 

4
dplyr on data.table, verwende ich data.table wirklich?
Wenn ich dplyr Syntax auf eine Datentabelle , erhalte ich alle die Geschwindigkeitsvorteile der Datentabelle , während immer noch die Syntax von dplyr verwenden? Mit anderen Worten, verwende ich die Datentabelle falsch, wenn ich sie mit der Dplyr-Syntax abfrage? Oder muss ich eine reine datierbare Syntax verwenden, um die gesamte …
89 r  data.table  dplyr 



5
Textzeichenfolge in eine data.table-Spalte teilen
Ich habe ein Skript, das Daten aus einer CSV-Datei in eine einliest data.tableund dann den Text in einer Spalte in mehrere neue Spalten aufteilt. Ich benutze derzeit die lapplyund strsplitFunktionen, um dies zu tun. Hier ist ein Beispiel: library("data.table") df = data.table(PREFIX = c("A_B","A_C","A_D","B_A","B_C","B_D"), VALUE = 1:6) dt = as.data.table(df) …
86 r  data.table 

7
So wenden Sie dieselbe Funktion auf jede angegebene Spalte in einer data.table an
Ich habe eine data.table, mit der ich dieselbe Operation für bestimmte Spalten ausführen möchte. Die Namen dieser Spalten werden in einem Zeichenvektor angegeben. In diesem Beispiel möchte ich alle diese Spalten mit -1 multiplizieren. Einige Spielzeugdaten und ein Vektor, der relevante Spalten angibt: library(data.table) dt <- data.table(a = 1:3, b …
85 r  data.table 

12
dplyr mutiert / ersetzt mehrere Spalten in einer Teilmenge von Zeilen
Ich bin gerade dabei, einen dplyr-basierten Workflow auszuprobieren (anstatt hauptsächlich data.table zu verwenden, wie ich es gewohnt bin), und bin auf ein Problem gestoßen, für das ich keine entsprechende dplyr-Lösung finden kann . Ich stoße normalerweise auf das Szenario, in dem ich mehrere Spalten basierend auf einer einzelnen Bedingung bedingt …
85 r  data.table  dplyr 



1
Konvertieren Sie einen Datenrahmen in eine data.table ohne Kopie
Ich habe einen großen Datenrahmen (in der Größenordnung von mehreren GB), den ich in einen konvertieren möchte data.table. Mit using as.data.tablewird eine Kopie des Datenrahmens erstellt. Dies bedeutet, dass der verfügbare Speicher mindestens doppelt so groß wie die Daten sein muss. Gibt es eine Möglichkeit, die Konvertierung ohne Kopie durchzuführen? …

5
Herausfiltern doppelter / nicht eindeutiger Zeilen in data.table
Bearbeiten 2019: Diese Frage wurde vor Änderungen im data.tableNovember 2016 gestellt. Die akzeptierte Antwort unten finden Sie sowohl für die aktuelle als auch für die vorherige Methode. Ich habe eine data.tableTabelle mit ungefähr 2,5 Millionen Zeilen. Es gibt zwei Spalten. Ich möchte alle Zeilen entfernen, die in beiden Spalten dupliziert …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.