我试图在两个不同数据帧的两列之间找到重复项。在识别出重复项后,我想从重复项所在的同一行但从不同的列中提取观察值,并将其插入到另一个数据框中。让我举个例子:
Table1:
tobecopied B Checkfordup D
Copy1 2 dupchk1 5
Copy2 3 dupchk5 4
Copy3 4 dupchk4 K
Table2:
tobepastedinto B Checkfordup D
5 dupchk1 L
6 dupchk2 M
7 dupchk4 3
所以代码运行后,表二将如下所示:
Updated Table2:
tobepastedinto B Checkfordup D
Copy1 5 dupchk1 L
6 dupchk2 M
Copy3 7 dupchk4 3
我试图做的是创建一个函数来执行此操作并在两列中使用 mapply 。代码如下所示:
checknum <- function(x,y){
if(y=x){
gsub(x,y,Table2$tobepastedinto)
}
else{""}
}
mapply(checknum,Table2$Checkfordup,Table1$Checkfordup)
该函数需要永远在 R 中运行,我很确定我做错了。有没有人对我正在尝试做的事情有更好的解决方案?或者有没有更好的方法来使用mapply?
编辑:这是小数据集。NASET 里面没有数字。我想查看 Numberset 中的任何手机是否与 NASET 中的手机匹配,然后将相应的 Number 添加到 NASET,即使名称不匹配:
NASET:
name Number mobile
VAN 678
GEORGE 6564
STEVEN 76787
Numberset:
name Number mobile
TEU 7 678
GEGE 6 64
VEN 5 87
TETK 7 678
Updated NASET:
NASET:
name Number mobile
VAN 7 678
GEORGE 6564
STEVEN 76787