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