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
到此这篇关于R语言数据框合并(merge)的几种方式小结的文章就介绍到这了,更多相关R语言数据框合并内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!