【发布时间】:2014-05-29 13:15:48
【问题描述】:
我有一些桌子Table1,Table2,Table3,Table4。他们有相同数量的columns 和rows,我想要的是将merge 合并成一个大Table。
我已尝试制作表格列表,然后将其转换为 matrix,但输出似乎不是我想要的。
l <- list(Table1, Table2, Table3, Table4)
l <- lapply(l, as.data.frame)
m <- matrix(unlist(l), nrow = length(l))
我也尝试使用merge(Table1, Table2, Table3, Table4) 仅merge 四个表,但我不确定是否提供正确的参数,因此出现错误。
fix.by(by.x, x) 中的错误:
'by' 必须将一列或多列指定为数字、名称或逻辑
调用:合并 -> merge.data.frame -> fix.by
我还尝试将表写入外部.txt 文件,然后从该文件中读取一个新表。
#write.table(Table1, file = "file.txt", append = TRUE)
#write.table(Table2, file = "file.txt", append = TRUE, col.names=FALSE)
#write.table(Table3, file = "file.txt", append = TRUE, col.names=FALSE)
#write.table(Table4, file = "file.txt", append = TRUE, col.names=FALSE)
但是由于各种原因,这个解决方案是不够的,我不得不放弃它。
顺便说一句,我希望第一个解决方案能以某种方式工作。
编辑: 我忘了提到所有四个表都有相同的索引1,2,3,.., 和相同的列名等。我指出这一点是因为例如@987654336 @ 不太合适。
我很确定这是一项微不足道的任务,但我被困住了。有什么帮助吗?
【问题讨论】:
-
您希望您的最终输出如何?如果所有表的列数相同,您是要水平(按行)还是垂直附加数据?
-
@RHelp 将它们垂直附加,以便我可以重新索引表
标签: r merge concatenation