我有两个数据。框架(假设a,b的大小为3172 * 1323、3067 * 21),我想将它们合并,但是,两者共有21列,并且两者均具有3067行。 我想合并两个数据框,以便替换公共行和公共列,并且最终大小将仅为3172 * 1323 我尝试了合并(a,b,= = 0),但这并不能帮助我获取要查找的数据。 请帮助我
A = read.table(header=TRUE, stringsAsFactors=FALSE, row.names=1, text='
Row.names P1 P2 P3 P4 P5
R_1 1 2 3 4 5
R_2 6 7 8 9 10
R_3 8 6 4 2 1
R_4 2 4 6 8 10')
B = read.table(header=TRUE, stringsAsFactors=FALSE, row.names=1, text='
Row.names P2 P5
R_2 NA 2
R_4 1 20')
# merge of A and B
C = read.table(header=TRUE, stringsAsFactors=FALSE, row.names=1, text='
Row.names P1 P2 P3 P4 P5
R_1 1 2 3 4 5
R_2 6 NA 8 9 2
R_3 8 6 4 2 1
R_4 2 1 6 8 20')
答案 0 :(得分:1)
您不需要合并。使用我编辑到您的问题中的数据:
A[row.names(B),colnames(B)] <- B
A
# P1 P2 P3 P4 P5
# R_1 1 2 3 4 5
# R_2 6 NA 8 9 2
# R_3 8 6 4 2 1
# R_4 2 1 6 8 20
(如果您好奇,可以使用rownames
或row.names
。)
答案 1 :(得分:0)
谢谢, 我尝试了上述方法,但在我的情况下不起作用,但是,我发现他们在某处使用了以下方法 1.找到交互行或列并将其删除 2.之后,只需使用cbind或rbind