2
Ich muss einige Set-Operationen mit nur data.table Bibliothek tun.Legen Sie Operationen mit data.table
Ich möchte nicht Join/Merge, aber Operationen einstellen. Wir stimmen also nicht Spalte für Zeile überein, sondern fügen Zeilen aus verschiedenen data.tables hinzu.
Wir arbeiten an zwei Stichproben aus integrierten Datensätzen.
Alle problematischen Fragen sind unten:
#install.packages("nycflights13")
library(nycflights13)
#install.packages("sqldf")
library(sqldf)
#install.packages("data.table")
library(data.table)
dt_airports <- data.table(airports)
Adt <- dt_airports[1:10]
Bdt <- dt_airports[6:15]
sqldf('SELECT * FROM A INTERSECT SELECT * FROM B')
# can I do it better using data.table?
rbindlist(list(Adt,Bdt))[duplicated(rbindlist(list(Adt,Bdt))),]
sqldf('SELECT * FROM A EXCEPT SELECT * FROM B')
# how to do it using data.table?
sqldf('SELECT * FROM B EXCEPT SELECT * FROM A')
# how to do it using data.table?
Mögliche Duplikat [How (merge) beizutreten Datenrahmen (innen, außen, links, rechts)?] (http://stackoverflow.com/questions/1299871/how-to-join-merge-data-frames-inner-outer-left-right) – theArun
Nein. Ich möchte nicht JOINING tun, aber Stellenangebote. Wir stimmen also nicht Spalte für Zeile überein, sondern fügen Zeilen aus verschiedenen data.tables hinzu. – AgnieszkaTomczyk
Sie führen zwei data.tables basierend auf bestimmten Spalten zusammen. Die erste Zeile, nach der Sie gefragt haben, ist ein Schnittpunkt, der zweite ist ein linker_join (glaube ich) und der dritte ist ein Recht. – theArun