Как объединить (объединить) фреймы данных (внутренний, внешний, левый, правый)?

Даны два фрейма данных:

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

Как я могу сделать стиль базы данных, то есть,sql style, присоединяется? То есть как я могу получить:

внутреннее соединение изdf1 а такжеdf2:
Вернуть только те строки, в которых левая таблица имеет соответствующие ключи в правой таблице.внешнее соединение изdf1 а такжеdf2:
Возвращает все строки из обеих таблиц, объединяет записи слева, которые имеют соответствующие ключи в правой таблице.A левое внешнее соединение (или просто левое соединение) изdf1 а такжеdf2
Вернуть все строки из левой таблицы и все строки с соответствующими ключами из правой таблицы.A правое внешнее соединение изdf1 а такжеdf2
Вернуть все строки из правой таблицы и все строки с соответствующими ключами из левой таблицы.

Дополнительный кредит:

Как я могу сделать оператор выбора в стиле SQL?

Ответы на вопрос(13)

Ваш ответ на вопрос