Как объединить кадры данных в R?
В этой статье мы обсудим, как выполнять внутренние, внешние, левые или правые соединения в данном фрейме данных на языке программирования R.
Используемые функции
Функция merge() используется для слияния или объединения двух таблиц. Указав соответствующие значения для конкретных параметров, мы можем создать желаемое соединение.
Syntax: merge(df1, df2, by.df1, by.df2, all.df1, all.df2, sort = TRUE)
Parameters:
df1: one dataframe
df2: another dataframe
by.df1, by.df2: The names of the columns that are common to both df1 and df2.
all, all.df1, all.df2: Logical values that actually specify the type of merging happens.
Внутреннее соединение
Внутреннее соединение, также известное как естественное соединение, объединяет два фрейма данных в один, который содержит общие элементы обоих. Для этой функции слияния () просто даются значения двух рассматриваемых фреймов данных, и на основе общего столбца генерируется фрейм данных.

Синтаксис :
merge(x = dataframe 1, y = data frame 2)
Пример
R
# create data frame 1 with id ,# name and address df1=data.frame(id=c(7058,7059,7072,7075), name=c("bobby","pinkey","harsha","deepika"), address=c("kakumanu","hyd","tenali","chebrolu")) # create data frame 2 with id , # marks df2=data.frame(id=c(7058,7059,7072,7075,7062,7063), marks=c(90,78,98,67,89,90)) # display dataframe1print(df1) # display dataframe2print(df2) print("Inner join") # inner join print(merge(x = df1, y = df2)) |
Выход:

Внешнее соединение
Outer Join объединяет все столбцы обоих фреймов данных в один для всех элементов. Для этого рассматриваемые кадры данных вместе со всеми параметрами, которым присвоено значение TRUE, должны быть переданы в функцию merge().

Синтаксис :
merge(x = data frame 1, y = data frame 2, all = TRUE)
Пример:
R
# create data frame 1 with id , name and address df1=data.frame(id=c(7058,7059,7072,7075), name=c("bobby","pinkey","harsha","deepika"), address=c("kakumanu","hyd","tenali","chebrolu")) # create data frame 2 with id , marks df2=data.frame(id=c(7058,7059,7072,7075,7062,7063), marks=c(90,78,98,67,89,90)) # display dataframe1print(df1) # display dataframe2print(df2) print("Inner join") # outer join print(merge(x = df1, y = df2,all=TRUE)) |
Выход:

Примечание. Возвращает NA несовпадающих столбцов.
Левое соединение
Он дает данные, которые соответствуют всем строкам в первом фрейме данных с соответствующими значениями во втором фрейме данных. Для этого, наряду с рассматриваемыми кадрами данных, все параметры должны быть переданы TRUE после указания ссылки на левую таблицу.

Синтаксис :
merge(x = data frame 1, y = data frame 2, all.x = TRUE)
Пример:
R
# create data frame 1 with id , name and address df1=data.frame(id=c(7058,7059,7072,7075), name=c("bobby","pinkey","harsha","deepika"), address=c("kakumanu","hyd","tenali","chebrolu")) # create data frame 2 with id , marks df2=data.frame(id=c(7058,7059,7072,7075,7062,7063), marks=c(90,78,98,67,89,90)) # display dataframe1print(df1) # display dataframe2print(df2) print("Left join")# Left join print(merge(x = df1, y = df2,all.x=TRUE)) |
Выход:

Право присоединиться
Он дает данные, которые соответствуют всем строкам во втором фрейме данных с соответствующими значениями в первом фрейме данных. Для этой функции слияния () должны быть предоставлены кадры данных вместе со всеми параметрами, присвоенными TRUE. все параметры должны иметь ссылку на правильный фрейм данных.

Синтаксис :
merge(x = data frame 1, y = data frame 2, all.y = TRUE)
Пример:
R
# create data frame 1 with id , name and address df1=data.frame(id=c(7058,7059,7072,7075), name=c("bobby","pinkey","harsha","deepika"), address=c("kakumanu","hyd","tenali","chebrolu")) # create data frame 2 with id , marks df2=data.frame(id=c(7058,7059,7072,7075,7062,7063), marks=c(90,78,98,67,89,90)) # display dataframe1print(df1) # display dataframe2print(df2) print("Right join")# Right join print(merge(x = df1, y = df2,all.y=TRUE)) |
Выход:
