千家信息网

R语言中如何合并dplyr

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇内容介绍了"R语言中如何合并dplyr"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、转换与合
千家信息网最后更新 2026年11月02日R语言中如何合并dplyr

本篇内容介绍了"R语言中如何合并dplyr"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1、转换与合并

left_join(a, b, by = "x1"): 向数据集a中加入匹配的数据集b记录(行)。

right_join(a, b, by = "x1"): 向数据集b中加入匹配的数据集a记录。

inner_join(a, b, by = "x1"): 合并数据。仅保留匹配的记录。

full_join(a, b, by = "x1"): 合并数据。保留所有记录,所有行。没有的用NA填充

library(dplyr)a=data.frame(x1=c("A","B","C"),x2=c(1:3))b=data.frame(x1=c("A","B","D"),x3=c("T","F","T"))a;b
##   x1 x2## 1  A  1## 2  B  2## 3  C  3
##   x1 x3## 1  A  T## 2  B  F## 3  D  T
left_join(a, b, by = "x1")# 向数据集a中加入匹配的数据集b记录。
##   x1 x2   x3## 1  A  1    T## 2  B  2    F## 3  C  3 
right_join(a, b, by = "x1")#    向数据集b中加入匹配的数据集a记录。
##   x1 x2 x3## 1  A  1  T## 2  B  2  F## 3  D NA  T
inner_join(a, b, by = "x1")#    合并数据。仅保留匹配的记录。
##   x1 x2 x3## 1  A  1  T## 2  B  2  F
full_join(a, b, by = "x1")# 合并数据。保留所有记录,所有行,没有的用NA填充
##   x1 x2   x3## 1  A  1    T## 2  B  2    F## 3  C  3 ## 4  D NA    T

2、筛选与合并

semi_join(a, b, by = "x1"): 数据集a中能与数据集b匹配的记录。

anti_join(a, b, by = "x1"): 数据集a中与数据集b不匹配的记录

3、集合操作

intersect(x, y): 均出现在数据集x和y中的记录。xy交集

union(x, y): 出现在数据集x或y中的记录。 xy并集

setdiff(x, y): 仅出现在数据集x而不在y中的记录。x与y的差集

bind_rows(x, y): 把数据集y作为新的⾏行添加到x中。

bind_cols(x, y): 把数据集y作为新的列添加到x中。

  • 注意:数据按所在位置匹配。

  • 和rbind() 与cbind()不一样的是,rbind()/cbind()对数据合并有严格的要求

x=data.frame(A=c("a","b","c"),B=c("t","u","v"),C=c(1:3))y=data.frame(A=c("a","b","d"),B=c("t","u","v"),D=c(2:4))x;y
##   A B C## 1 a t 1## 2 b u 2## 3 c v 3
##   A B D## 1 a t 2## 2 b u 3## 3 d v 4
bind_rows(x, y) #行合并,列全部显示,没有的用NA填充 ,选择.id="name"参数,多增加一列,列名name
##   A B  C  D## 1 a t  1 NA## 2 b u  2 NA## 3 c v  3 NA## 4 a t NA  2## 5 b u NA  3## 6 d v NA  4
bind_rows(x, y,.id="name")# 为了区别数据是分别来自于两个其他数据库,可以用id进行区别
##   name A B  C  D## 1    1 a t  1 NA## 2    1 b u  2 NA## 3    1 c v  3 NA## 4    2 a t NA  2## 5    2 b u NA  3## 6    2 d v NA  4
bind_cols(x, y) #列合并,
##   A...1 B...2 C A...4 B...5 D## 1     a     t 1     a     t 2## 2     b     u 2     b     u 3## 3     c     v 3     d     v 4

4、数据排序

arrange(.data, …, .by_group = FALSE) :根据变量进行排序 + 默认升序,在变量前面添加desc()则变为降序 + .by_group = FALSE 默认忽视对组的升序排序,设置为TRUE则把组进行升序排序以后再按比变量进行排序

arrange(mtcars, cyl, desc(disp))  #根据变量进行排序
##                      mpg cyl  disp  hp drat    wt  qsec vs am gear carb## Merc 240D           24.4   4 146.7  62 3.69 3.190 20.00  1  0    4    2## Merc 230            22.8   4 140.8  95 3.92 3.150 22.90  1  0    4    2## Volvo 142E          21.4   4 121.0 109 4.11 2.780 18.60  1  1    4    2## Porsche 914-2       26.0   4 120.3  91 4.43 2.140 16.70  0  1    5    2## Toyota Corona       21.5   4 120.1  97 3.70 2.465 20.01  1  0    3    1## Datsun 710          22.8   4 108.0  93 3.85 2.320 18.61  1  1    4    1## Lotus Europa        30.4   4  95.1 113 3.77 1.513 16.90  1  1    5    2## Fiat X1-9           27.3   4  79.0  66 4.08 1.935 18.90  1  1    4    1## Fiat 128            32.4   4  78.7  66 4.08 2.200 19.47  1  1    4    1## Honda Civic         30.4   4  75.7  52 4.93 1.615 18.52  1  1    4    2## Toyota Corolla      33.9   4  71.1  65 4.22 1.835 19.90  1  1    4    1## Hornet 4 Drive      21.4   6 258.0 110 3.08 3.215 19.44  1  0    3    1## Valiant             18.1   6 225.0 105 2.76 3.460 20.22  1  0    3    1## Merc 280            19.2   6 167.6 123 3.92 3.440 18.30  1  0    4    4## Merc 280C           17.8   6 167.6 123 3.92 3.440 18.90  1  0    4    4## Mazda RX4           21.0   6 160.0 110 3.90 2.620 16.46  0  1    4    4## Mazda RX4 Wag       21.0   6 160.0 110 3.90 2.875 17.02  0  1    4    4## Ferrari Dino        19.7   6 145.0 175 3.62 2.770 15.50  0  1    5    6## Cadillac Fleetwood  10.4   8 472.0 205 2.93 5.250 17.98  0  0    3    4## Lincoln Continental 10.4   8 460.0 215 3.00 5.424 17.82  0  0    3    4## Chrysler Imperial   14.7   8 440.0 230 3.23 5.345 17.42  0  0    3    4## Pontiac Firebird    19.2   8 400.0 175 3.08 3.845 17.05  0  0    3    2## Hornet Sportabout   18.7   8 360.0 175 3.15 3.440 17.02  0  0    3    2## Duster 360          14.3   8 360.0 245 3.21 3.570 15.84  0  0    3    4## Ford Pantera L      15.8   8 351.0 264 4.22 3.170 14.50  0  1    5    4## Camaro Z28          13.3   8 350.0 245 3.73 3.840 15.41  0  0    3    4## Dodge Challenger    15.5   8 318.0 150 2.76 3.520 16.87  0  0    3    2## AMC Javelin         15.2   8 304.0 150 3.15 3.435 17.30  0  0    3    2## Maserati Bora       15.0   8 301.0 335 3.54 3.570 14.60  0  1    5    8## Merc 450SE          16.4   8 275.8 180 3.07 4.070 17.40  0  0    3    3## Merc 450SL          17.3   8 275.8 180 3.07 3.730 17.60  0  0    3    3## Merc 450SLC         15.2   8 275.8 180 3.07 3.780 18.00  0  0    3    3
by_cyl <- mtcars %>% group_by(cyl)by_cyl %>% arrange(desc(wt), .by_group = TRUE) #默认忽视对组的升序排序,设置为TRUE则把组进行升序排序以后再按比变量进行排序
## # A tibble: 32 x 11## # Groups:   cyl [3]##      mpg   cyl  disp    hp  drat    wt  qsec    vs    am  gear  carb##              ##  1  24.4     4 147.     62  3.69  3.19  20       1     0     4     2##  2  22.8     4 141.     95  3.92  3.15  22.9     1     0     4     2##  3  21.4     4 121     109  4.11  2.78  18.6     1     1     4     2##  4  21.5     4 120.     97  3.7   2.46  20.0     1     0     3     1##  5  22.8     4 108      93  3.85  2.32  18.6     1     1     4     1##  6  32.4     4  78.7    66  4.08  2.2   19.5     1     1     4     1##  7  26       4 120.     91  4.43  2.14  16.7     0     1     5     2##  8  27.3     4  79      66  4.08  1.94  18.9     1     1     4     1##  9  33.9     4  71.1    65  4.22  1.84  19.9     1     1     4     1## 10  30.4     4  75.7    52  4.93  1.62  18.5     1     1     4     2## # … with 22 more rows

"R语言中如何合并dplyr"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

数据 排序 升序 变量 中加 语言 内容 更多 知识 实用 学有所成 接下来 两个 交集 位置 参数 困境 实际 差集 并有 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 新华互联网科技 互联网科技的发展 高科技与互联网 兼蜜互联网科技 汉立互联网科技有限公司联系电话 银川新华互联网科技学校地址 安控科技rtu产品工业互联网 互联网金融科技公司干啥的 成都铂石互联网科技做什么的 宜昌元轩互联网科技有限公司 搜狐科技互联网 互联网新科技动漫ppt素材 长沙互联网科技 滨湖区互联网智能科技产品有哪些 互联网风格科技公司名称 信承诺互联网科技有限公司 济南小医互联网科技有限公司招聘 互联网领先科技成果宣传视频 宁波允成互联网科技有限公司 山东亿川互联网科技有限责任公司 互联网科技公司 凡科互联网科技 互联网科技公司有哪些 大白互联网科技 互联网科技创新企业排名 农村开互联网科技讲堂 996高科技互联网公司 合肥互联网科技公司公章图片 富国互联网金融科技混合基金 互联网科技企业商标注意事项
0