R语言中merge函数

来源:https://blog.csdn.net/u010652755/article/details/72982227/

1、创建测试数据:

name <- c('A','B','A','A','C','D')
school <- c('s1','s2','s1','s1','s1','s3')
class <- c(10, 5, 4, 11, 1, 8)
English <- c(85, 50, 90 ,90, 12, 96)
w <- data.frame(name, school, class, English)
w

name  <-  c('A','B','C','F')
school <- c('s3','s2','s1','s2')
class <-  c(5, 5, 1,3)
maths <- c(80,89,55,90)
English <- c(88, 89, 32, 89)
q <- data.frame(name, school, class, maths, English)
q

2、查看两个数据框

w
q

3、指定匹配列进行合并(按照行合并)

merge(w,q,by.x = 'name', by.y = 'name')

w
q
merge(w,q,by.x = 'school', by.y = 'school')

4、指定匹配列合并,没有的内容填充为NA

w
q
merge(w, q, all=TRUE, sort=TRUE) 

5、依照左侧数据进行匹配

w
q
merge(w ,q ,all.x=TRUE,sort=TRUE)

w
q
merge(w, q, by = 'name',all.x = TRUE, sort = TRUE)

6、依照右侧数据进行匹配

w
q
merge(w ,q ,by = 'name', all.y=TRUE,sort=TRUE) 

原文地址:https://www.cnblogs.com/liujiaxin2018/p/15468871.html