Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在两个数据框 A 和 B 上使用合并功能
nrow(A) <- 11537 nrow(B) <- 734
但是当我如下应用合并功能时:
m <- merge(A,B,all.x=TRUE,by="id") nrow(m) <- 29730
我得到 29730 行的“m”。仅当我将 B 合并到 A 时,“m”才应该有 11537 行。我无法确定这背后的原因。有人能帮帮我吗?“A”中添加了什么?
文件很大,我无法手动检查。
如果您的 id 值在每个 data.frame 中不是唯一的,则会在结果中创建每个可能匹配的组合。例如:
a = data.frame(id=c(1,1,1,2,2),val=1:5) b = data.frame(id=c(1,1,3,2,2),valb=11:15) m = merge(a,b,by="id",all.x=T)
m 将有 10 行 - 6 行 id=1 和 4 行 id=2
我的猜测是这导致您合并的 data.frame 变得比预期大。