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


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

Спосіб 1: об’єднання на основі відповідного імені стовпця

 merge(df1, df2, by=' var1 ')

Спосіб 2: об’єднання на основі невідповідного імені стовпця

 merge(df1, df2, by. x = ' var1 ', by. y = ' variable1 ')

Спосіб 3: об’єднання на основі кількох відповідних імен стовпців

 merge(df1, df2, by=c(' var1 ', ' var2 '))

Спосіб 4. Об’єднайте на основі кількох невідповідних імен стовпців

 merge(df1, df2, by. x =c(' var1 ', ' var2 '), by. y =c(' variable1 ', ' variable2 '))

Наступні приклади показують, як використовувати кожен метод на практиці.

Приклад 1: об’єднання на основі відповідної назви стовпця

Наступний код показує, як об’єднати два кадри даних у R на основі відповідного імені стовпця:

 #define data frames
df1 <- data. frame (team=c('A', 'B', 'C', 'D'),
                  dots=c(88, 98, 104, 100))

df2 <- data. frame (team=c('A', 'B', 'C', 'D'),
                  rebounds=c(22, 31, 29, 20))

#merge based on one column with matching name
merge(df1, df2, by=' team ')

  team points rebounds
1 A 88 22
2 B 98 31
3 C 104 29
4 D 100 20

Результатом є кадр даних, який відповідає рядкам у кожному кадрі даних за допомогою стовпця команди .

Приклад 2: об’єднання на основі невідповідного імені стовпця

Наступний код показує, як об’єднати два кадри даних у R на основі невідповідного імені стовпця:

 #define data frames
df1 <- data. frame (team=c('A', 'B', 'C', 'D'),
                  dots=c(88, 98, 104, 100))

df2 <- data. frame (team_name=c('A', 'B', 'C', 'D'),
                  rebounds=c(22, 31, 29, 20))

#merge based on one column with unmatched name
merge(df1, df2, by. x = ' team ', by. y = ' team_name ')

  team points rebounds
1 A 88 22
2 B 98 31
3 C 104 29
4 D 100 20

Результатом є кадр даних, який відповідає рядкам за допомогою стовпця team у першому кадрі даних і стовпця team_name у другому кадрі даних.

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

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

 #define data frames
df1 <- data. frame (team=c('A', 'A', 'B', 'B'),
                  position=c('G', 'F', 'G', 'F'),
                  dots=c(88, 98, 104, 100))

df2 <- data. frame (team=c('A', 'A', 'B', 'B'),
                  position=c('G', 'F', 'G', 'F'),
                  rebounds=c(22, 31, 29, 20))

#merge based on multiple columns with matching names
merge(df1, df2, by=c(' team ', ' position '))

  team position points rebounds
1 AF 98 31
2 AG 88 22
3 BF 100 20
4 BG 104 29

Результатом є кадр даних, який відповідає рядкам у кожному кадрі даних за допомогою стовпця команди та позиції в кожному кадрі даних.

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

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

 #define data frames
df1 <- data. frame (team=c('A', 'A', 'B', 'B'),
                  position=c('G', 'F', 'G', 'F'),
                  dots=c(88, 98, 104, 100))

df2 <- data. frame (team_name=c('A', 'A', 'B', 'B'),
                  position_name=c('G', 'F', 'G', 'F'),
                  rebounds=c(22, 31, 29, 20))

#merge based on multiple columns with matching names
merge(df1, df2, by. x =c(' team ', ' position '), by. y =c(' team_name ', ' position_name '))

  team position points rebounds
1 AF 98 31
2 AG 88 22
3 BF 100 20
4 BG 104 29

Результатом є кадр даних, який відповідає рядкам за допомогою стовпців team і position у першому кадрі даних і стовпців team_name і position_name у другому кадрі даних.

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

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

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

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

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