代码语言:text复制
# 生成两个数据框做演示
test1 <- data.frame(name = c('jimmy','nicker','Damon','Sophie'),
blood_type = c("A","B","O","AB"))
test1
代码语言:txt复制## name blood_type
## 1 jimmy A
## 2 nicker B
## 3 Damon O
## 4 Sophie AB
代码语言:text复制test2 <- data.frame(name = c('Damon','jimmy','nicker','tony'),
group = c("group1","group1","group2","group2"),
vision = c(4.2,4.3,4.9,4.5))
test2
代码语言:txt复制## name group vision
## 1 Damon group1 4.2
## 2 jimmy group1 4.3
## 3 nicker group2 4.9
## 4 tony group2 4.5
代码语言:text复制# 操作之前记得先加载这个包哦
library(dplyr)
1.inner_join:取交集
代码语言:text复制# 通过名字取两个表格的交集
inner_join(test1,test2,by = 'name')
代码语言:txt复制## name blood_type group vision
## 1 jimmy A group1 4.3
## 2 nicker B group2 4.9
## 3 Damon O group1 4.2
2.full_join:取全集
代码语言:text复制# 都并在一块还设啥参数,取不到就会返回NA
full_join(test1,test2)
代码语言:txt复制## name blood_type group vision
## 1 jimmy A group1 4.3
## 2 nicker B group2 4.9
## 3 Damon O group1 4.2
## 4 Sophie AB <NA> NA
## 5 tony <NA> group2 4.5
3.left_join:左连接
代码语言:text复制left_join(test1,test2,by="name") # 保留左边表格里的那四个人,取不到就返回NA
代码语言:txt复制## name blood_type group vision
## 1 jimmy A group1 4.3
## 2 nicker B group2 4.9
## 3 Damon O group1 4.2
## 4 Sophie AB <NA> NA
4.right_join:右连接
就是左连接换个位置,不学都行
代码语言:text复制right_join(test1,test2,by="name") # 大家看下区别吧,就是换下位置
代码语言:txt复制## name blood_type group vision
## 1 jimmy A group1 4.3
## 2 nicker B group2 4.9
## 3 Damon O group1 4.2
## 4 tony <NA> group2 4.5
引用自生信技能树