x,y:用于合并的两个数据框
by,by.x,by.y:用于连接两个数据集的列,intersect(a,b)值向量a,b的交集,names(x)指提取数据集x的列名 by = intersect(names(x), names(y)) 是获取数据集x,y的列名后,提取其公共列名,作为两个数据集的连接列, 当有多个公共列时,需用下标指出公共列,如names(x)[1],指定x数据集的第1列作为公共列 也可以直接写为 by = ‘公共列名’ ,前提是两个数据集中都有该列名,并且大小写完全一致,R语言区分大小写
all,all.x,all.y:指定x和y的行是否应该全在输出文件.
sort:by指定的列是否要排序.
suffixes:指定除by外相同列名的后缀.
incomparables:指定by中哪些单元不进行合并.
merge函数有4种匹配拼接模式,分别为inner,left,right和outer模式。 其中inner为默认的匹配模式。all=T代表全连接,all.x=T代表左联结;all.y=T代表右连接
inner 模式匹配,只显示两个数据集公共列中均有的行
outer 模式,将两张表的数据汇总,表中原来没有的数据置为空
left 匹配模式
right 匹配模式
容易遇到的问题:
1.在导入文件时,可能会出现第一列列名为“X.U.FEFF.xx”。这可能是文件类型或编码方式导致,本人解决方法是将csv(utf-8)文件另存为csv文件。“X.U.FEFF.xx”字样消除。
2.在数据合并时参数type=“full”容易导致数据合并不成功。
参考网站: http://blog.sina.com.cn/s/blog_46d621c00101l66x.html