2017-06-27 2 views
0

Ich habe drei Sätze von Datentabellen mit unterschiedlichen Spalten. Die locationNames.xxx-Variablen haben die Dateinamen mit gemeinsamen Spalten.r mehrere Datentabellen mit Listen von Datentabellennamen zusammenführen

locationNames.complete <- c("BangsCanyon", "BookCliffs", "Escalante", "Highline", "Ute") 
locationNames.noWind <- c("DougPass", "GrandMesa") 
locationNames.noT <- c("Palisade", "Pitkin", "Whitewater") 

Und eine Variable, die alle Dateinamen hat.

allSites <- c(locationNames.complete, locationNames.noWind, locationNames.noT) 

ich einige Manipulation an jeden von ihnen, einschließlich einer gemeinsamen date Spalte als POSIXct formatierte. Ich möchte sie alle zusammen in eine combined Datei auf date zusammenführen.

Ich kenne den folgenden Ansatz zum Zusammenführen mehrerer Datensätze, wo die Liste die Datentabelle Namen ohne Anführungszeichen hat.

combined.sites.1 <- Reduce(merge,list(BangsCanyon, BookCliffs, Escalante)) 

Aber keiner der Arbeit folgende Ansätze, vermutlich weil die locationNames Variablen Charakter sind.

combined.sites.2 <- Reduce(merge,list(locationNames.complete, locationNames.noWind, locationNames.noT)) 
combined.sites.2 <- Reduce(merge,list(allSites)) 
combined.sites.2 <- Reduce(merge,list(get(allSites))) 

Die letzte dieser drei gibt eine Datentabelle, die Spalten aus nur der ersten Datentabelle in der allSites Variable hat. Ich vermute, dass etwas offensichtlich ist, das ich vermisse.

+0

Sie können versuchen 'combined.sites <- Reduce (Zusammenführen, Lapply (allSites, get))'. –

Antwort

2

Ich denke, das sollte funktionieren:

combined.sites <- Reduce(merge,lapply(allSites,get)) 

Lassen Sie mich wissen, wenn es nicht der Fall ist.

+0

Es tut, aber ... Ich möchte auch alle = TRUE auch verwenden können. Folgendes funktioniert nicht. combined.sites.test <- Reduce (merge, lapply (allSites, get), all = TRUE) – JerryN

+1

@JerryN Hier ist eine Lösung, um mehrere Argumente an Reduce-Funktion https://stackoverflow.com/questions/34954811/using-reduce zu übergeben -melden-mehrere-Daten-Frames-mit-übergeben-Argumente-und-ohne-de –

Verwandte Themen