Як зробити перехресне з'єднання в r (з прикладом)
Найпростіший спосіб виконати перехресне з’єднання в R – це використовувати функцію cross() з пакету Tidyr :
library (tidyr) #perform cross join on df1 and df2 crossing(df1, df2)
У наступному прикладі показано, як використовувати цю функцію на практиці.
Приклад: виконання перехресного з’єднання в R
Припустимо, ми маємо наступні два кадри даних у R:
#define first data frame df1 = data. frame (team1=c('A', 'B', 'C', 'D'), dots=c(18, 22, 19, 14)) df1 team1 points 1 to 18 2 B 22 3 C 19 4 D 14 #define second data frame df2 = data. frame (team2=c('A', 'B', 'F'), assists=c(4, 9, 8)) df2 team2 assists 1 to 4 2 B 9 3 F 8
Ми можемо використати функцію crossing() із пакету Tidyr , щоб виконати перехресне з’єднання цих двох кадрів даних:
library (tidyr) #perform cross join cross <- crossing(df1, df2) #view result cross # A tibble: 12 x 4 team1 points team2 assists 1 A 18 A 4 2 A 18 B 9 3 A 18 F 8 4 B 22 A 4 5 B 22 B 9 6 B 22 F 8 7 C 19 A 4 8 C 19 B 9 9 C 19 F 8 10 D 14 A 4 11 D 14 B 9 12 D 14 F 8
Результатом є кадр даних, що містить усі можливі комбінації рядків із кожного кадру даних.
Наприклад, перший рядок першого кадру даних містить команду A та 18 точок. Цей рядок відповідає кожному рядку другого кадру даних.
Тоді другий рядок першого кадру даних містить команду B і 22 точки. Цей рядок також відповідає кожному рядку другого кадру даних.
Кінцевим результатом є 12-рядковий кадр даних.
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові операції в R:
Як зробити об’єднання зліва в R
Як зробити правильне об’єднання в R
Як зробити внутрішнє об’єднання в R