参考资料:菜鸟教程 - 学的不仅是技术,更是梦想!
合并数据框
R 语言合并数据框使用 merge() 函数。
merge() 函数语法格式如下:
# S3 方法
merge(x, y, …)
# data.frame 的 S3 方法
merge(x, y, by = intersect(names(x), names(y)),
by.x = by, by.y = by, all = FALSE, all.x = all, all.y = all,
sort = TRUE, suffixes = c(".x",".y"), no.dups = TRUE,
incomparables = NULL, …)
常用参数说明:
x, y: 数据框
by, by.x, by.y:指定两个数据框中匹配列名称,默认情况下使用两个数据框中相同列名称。
all:逻辑值; all = L 是 all.x = L 和 all.y = L 的简写,L 可以是 TRUE 或 FALSE。
all.x:逻辑值,默认为 FALSE。如果为 TRUE, 显示 x 中匹配的行,即便 y 中没有对应匹配的行,y 中没有匹配的行用 NA 来表示。
all.y:逻辑值,默认为 FALSE。如果为 TRUE, 显示 y 中匹配的行,即便 x 中没有对应匹配的行,x 中没有匹配的行用 NA 来表示。
sort:逻辑值,是否对列进行排序。
merge() 函数和 SQL 的 JOIN 功能很相似:
Natural join 或 INNER JOIN:如果表中有至少一个匹配,则返回行
Left outer join 或 LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行
Right outer join 或 RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行
Full outer join 或 FULL JOIN:只要其中一个表中存在匹配,则返回行
# data frame 1
> df1 = data.frame(SiteId = c(1:6)