A: як об’єднати кадри даних на основі кількох стовпців


Ви можете використовувати такий базовий синтаксис, щоб об’єднати два кадри даних у R на основі кількох стовпців:

 merge(df1, df2, by. x =c(' col1 ', ' col2 '), by. y =c(' col1 ', ' col2 '))

У наступному прикладі показано, як використовувати цей синтаксис на практиці.

Приклад: об’єднання блоків даних у кількох стовпцях

Припустимо, ми маємо наступні два кадри даних у R:

 #define data frames
df1 = data. frame (playerID=c(1, 2, 3, 4, 5, 6),
                 team=c('A', 'B', 'B', 'B', 'C', 'C'),
                 dots=c(19, 22, 25, 29, 34, 39))

df2 = data. frame (playerID=c(1, 2, 3, 4),
                 tm=c('A', 'B', 'B', 'B'),
                 rebounds=c(7, 8, 8, 14))

#view first data frame
df1

  playerID team points
1 1 A 19
2 2 B 22
3 3 B 25
4 4 B 29
5 5 C 34
6 6 C 39

#view second data frame
df2 

  playerID tm rebounds
1 1 To 7
2 2 B 8
3 3 B 8
4 4 B 14

Зауважте, що обидва кадри даних мають спільний стовпець playerID , але стовпці team мають різні імена в кожному кадрі даних:

  • Перший кадр даних має стовпець « команда ».
  • Другий кадр даних має стовпець ‘ tm

Щоб об’єднати ці кадри даних на основі стовпців playerID і team, нам потрібно використовувати аргументи by.x і by.y.

Ми можемо використати наступний код для виконання цього злиття:

 #merge two data frames
merged = merge(df1, df2, by. x =c(' playerID ', ' team '), by. y =c(' playerID ', ' tm '))

#view merged data frame
merged

  playerID team points rebounds
1 1 A 19 7
2 2 B 22 8
3 3 B 25 8
4 4 B 29 14

Остаточний об’єднаний фрейм даних містить дані для всіх чотирьох гравців, які належать до вихідних двох кадрів даних.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші поширені функції кадру даних у R:

Як зробити об’єднання зліва в R
Як зробити VLOOKUP у R
Як додати рядки до кадру даних у R

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *