【发布时间】:2017-06-27 17:16:43
【问题描述】:
我有三组具有不同列集的数据表。 locationNames.xxx 变量具有带有公共列的数据集名称。
locationNames.complete <- c("BangsCanyon", "BookCliffs", "Escalante", "Highline", "Ute")
locationNames.noWind <- c("DougPass", "GrandMesa")
locationNames.noT <- c("Palisade", "Pitkin", "Whitewater")
还有一个包含所有数据集名称的变量。
allSites <- c(locationNames.complete, locationNames.noWind, locationNames.noT)
我对其中的每一个都进行了一些操作,包括一个常见的date 列,格式为 POSIXct。我想将它们全部合并到date 上的一个combined 文件中。
我知道以下合并多个数据集的方法,其中列表具有数据表名称,不带引号。
combined.sites.1 <- Reduce(merge,list(BangsCanyon, BookCliffs, Escalante))
但是以下方法都不起作用,大概是因为 locationNames 变量是字符。
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)))
这三个中的最后一个给出了一个数据表,其中的列仅来自 allSites 变量中的第一个数据表。 我怀疑我遗漏了一些明显的东西。
【问题讨论】:
-
你可以试试
combined.sites <- Reduce(merge,lapply(allSites,get))。
标签: r merge data.table