【发布时间】:2016-09-07 05:05:22
【问题描述】:
我像这样阅读所有文件:
tables <- lapply(files, function(x) read.table(x, col.names=c("unit","count")))
我稍后将使用列unit 合并它们。但是,我希望我可以使用来自变量files 的原始文件名而不是count 作为第二列。那是因为我稍后会像这样执行合并:
MyMerge <- function(x, y){
df <- merge(x, y, by="unit", all.x= TRUE, all.y= TRUE)
return(df)
}
data <- Reduce(MyMerge, tables)
这会导致问题,因为merge 函数无法处理超过 3 个非唯一列名(这些名称变为 count.x、count.y 和 count,因此我的脚本无法处理超过 3 个文件)。
【问题讨论】:
-
只做 col.names = c('unit', x) 还不够吗?这将使用第一个列单元和第二列读取文件的名称
-
绝对是!!谢谢你。如果您将此添加为答案,我可以接受。
标签: r merge reduce read.table