什么之间的区别INNER JOIN,LEFT JOIN,RIGHT JOIN并FULL JOIN
在MySQL的?
给出两个数据框:
df1 = data.frame(CustomerId = c(1:6), Product = c(rep("Toaster", 3), rep("Radio", 3)))
df2 = data.frame(CustomerId = c(2, 4, 6), State = c(rep("Alabama", 2), rep("Ohio", 1)))
df1
# CustomerId Product
# 1 Toaster
# 2 Toaster
# 3 Toaster
# 4 Radio
# 5 Radio
# 6 Radio
df2
# CustomerId State
# 2 Alabama
# 4 Alabama
# 6 Ohio
Run Code Online (Sandbox Code Playgroud)
我怎样才能做数据库风格,即sql风格,加入?也就是说,我该怎么做:
假设我有两个data.table:
A:
A B
1: 1 12
2: 2 13
3: 3 14
4: 4 15
Run Code Online (Sandbox Code Playgroud)
B:
A B
1: 2 13
2: 3 14
Run Code Online (Sandbox Code Playgroud)
我有以下代码:
merge_test = merge(dataA, dataB, by="A", all.data=TRUE)
Run Code Online (Sandbox Code Playgroud)
我明白了:
A B.x B.y
1: 2 13 13
2: 3 14 14
Run Code Online (Sandbox Code Playgroud)
但是,我想在最终合并表中的dataA中的所有行.有没有办法做到这一点?
join ×2
merge ×2
r ×2
data.table ×1
dataframe ×1
inner-join ×1
mysql ×1
outer-join ×1
r-faq ×1
sql ×1