Як зробити внутрішнє об’єднання в r (з прикладами)
Існує два поширених способи виконання внутрішнього об’єднання в R:
Спосіб 1: Використовуйте Base R
merge(df1, df2, by=' column_to_join_on ')
Спосіб 2: використовуйте dplyr
library (dplyr) inner_join(df1, df2, by=' column_to_join_on ')
Обидва методи дадуть однаковий результат, але метод dplyr працюватиме швидше на надзвичайно великих наборах даних.
У наведених нижче прикладах показано, як використовувати кожну з цих функцій на практиці з такими кадрами даних:
#define first data frame df1 = data. frame (team=c('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'), points=c(18, 22, 19, 14, 14, 11, 20, 28)) df1 team points 1 to 18 2 B 22 3 C 19 4 D 14 5 E 14 6 F 11 7 G 20 8:28 a.m. #define second data frame df2 = data. frame (team=c('A', 'B', 'C', 'D', 'G', 'H'), assists=c(4, 9, 14, 13, 10, 8)) df2 team assists 1 to 4 2 B 9 3 C 14 4 D 13 5G 10 6:8 a.m.
Приклад 1: Внутрішнє об’єднання за допомогою Base R
Ми можемо використати функцію merge() у базовому R, щоб виконати внутрішнє об’єднання, використовуючи стовпець team як стовпець для приєднання:
#perform inner join using base R df3 <- merge(df1, df2, by=' team ') #view result df3 team points assists 1 to 18 4 2 B 22 9 3 C 19 14 4 D 14 13 5 G 20 10 6:28 a.m. 8
Зауважте, що лише команди, які з’явилися в обох наборах даних, зберігаються в остаточному наборі даних.
Приклад 2: Внутрішнє об’єднання за допомогою dplyr
Ми можемо використати функцію inner_join() із пакета dplyr , щоб виконати внутрішнє з’єднання, використовуючи стовпець «team» як стовпець для приєднання:
library (dplyr) #perform inner join using dplyr df3 <- inner_join(df1, df2, by=' team ') #view result df3 team points assists 1 to 18 4 2 B 22 9 3 C 19 14 4 D 14 13 5 G 20 10 6:28 a.m. 8
Зауважте, що це відповідає результату, який ми отримали за допомогою функції merge() у базовому R.
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові операції в R:
Як зробити об’єднання зліва в R
Як зробити правильне об’єднання в R
Як додати стовпець до кадру даних у R
Як видалити стовпці з кадру даних у R