R语言数据框合并 R语言数据框合并(merge)的几种方式小结

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

R语言数据框合并 R语言数据框合并(merge)的几种方式小结

余醉 | dtminer   2021-03-15 我要评论
想了解R语言数据框合并(merge)的几种方式小结的相关内容吗,余醉 | dtminer在本文为您仔细讲解R语言数据框合并的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:R语言数据框合并,R语言合并数据框,下面大家一起来学习吧。

merge data frames (inner, outer, left, right)

数据

> df1 = data.frame(CustomerId = c(1:6), Product = c(rep("Toaster", 3), rep("Radio", 3))) 
> df1  
> CustomerId  Product
1     1  Toaster
2     2  Toaster
3     3  Toaster
4     4  Radio
5     5  Radio
6     6  Radio

> df2 = data.frame(CustomerId = c(2, 4, 6), State = c(rep("Alabama", 2), rep("Ohio", 1)))
> df   
> CustomerId  State
1     2  Alabama
2     4  Alabama
3     6  Ohio 

inner

 > merge(x = df1, y = df2, by = "CustomerId", all = TRUE)     
 > CustomerId Product  State
 1     1 Toaster  <NA>
 2     2 Toaster  Alabama
 3     3 Toaster  <NA>
 4     4 Radio   Alabama
 5     5 Radio   <NA>
 6     6 Radio   Ohio

left

> merge(x = df1, y = df2, by = "CustomerId", all.x = TRUE)
> CustomerId Product  State      
1     1 Toaster  <NA>
2     2 Toaster  Alabama
3     3 Toaster  <NA>
4     4 Radio   Alabama
5     5 Radio   <NA>
6     6 Radio   Ohio

right

> merge(x = df1, y = df2, by = "CustomerId", all.y = TRUE) 
> CustomerId Product  State
1     2 Toaster  Alabama
2     4 Radio   Alabama
3     6 Radio   Ohio

outer

> merge(x = df1, y = df2, by = NULL)
> CustomerId.x Product CustomerId.y  State
1      1 Toaster      2  Alabama
2      2 Toaster      2  Alabama
3      3 Toaster      2  Alabama
4      4 Radio       2  Alabama
5      5 Radio       2  Alabama
6      6 Radio       2  Alabama
7      1 Toaster      4  Alabama
8      2 Toaster      4  Alabama
9      3 Toaster      4  Alabama
10      4 Radio       4  Alabama
11      5 Radio       4  Alabama
12      6 Radio       4  Alabama
13      1 Toaster      6  Ohio
14      2 Toaster      6  Ohio
15      3 Toaster      6  Ohio
16      4 Radio       6  Ohio
17      5 Radio       6  Ohio
18      6 Radio       6  Ohio

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们