所以我有两个数据框,我试图将它们组合在一起。这两个DF具有以下特征:
因此每个表中的第一列是ID。一个表的ID为#1到100,而下一个表的ID为#101到200.
我试图使用rbind函数,但它会抛出一个我无法弄清楚如何解决的错误:
data3 <- rbind(data1,data2)
错误如下:
Error in `row.names<-.data.frame`(`*tmp*`, value = value) :
duplicate 'row.names' are not allowed
有没有人对如何解决这个问题有任何建议?
最终,我希望将它们合并到ID 1到200的单个数据帧以及列中的所有相应数据中。
所以说data1看起来像:
ID Team Position
1 Pirates Pitcher
2 Yankees Catcher
3 Red Sox Outfield
数据2看起来像:
ID Team Position
4 Astros Pitcher
5 Brewers First
6 Dodgers Shortstop
我希望最终结果(data3)看起来像:
ID Team Position
1 Pirates Pitcher
2 Yankees Catcher
3 Red Sox Outfield
4 Astros Pitcher
5 Brewers First
6 Dodgers Shortstop
顺便说一句,这些不是我正在使用的名称或数据。更多简单的例子。
答案 0 :(得分:0)
根据您是否要保留行名称,可以执行以下操作之一:
# Do not preserve row names
rownames(data1) <- NULL
rownames(data2) <- NULL
rbind(data1, data2)
# Preserve the row names
data1 <- cbind(rownames(data1), data1)
data2 <- cbind(rownames(data2), data2)
rownames(data1) <- NULL
rownames(data2) <- NULL
rbind(data1, data2)
答案 1 :(得分:0)
这很容易!由于R代码非常有效,因此只需3行代码即可实现。
File1 = read.table("C:\\Users\\your_path\\Desktop\\File1.txt")
File2 = read.table("C:\\Users\\your_path\\Desktop\\File2.txt")
All = merge(File1, File2, by.x = "Team", by.y = "Team", all = TRUE)