Как выполнить впр (аналог excel) в r


Функция ВПР в Excel позволяет найти значение в таблице, сопоставляя его со столбцом.

Например, в следующей таблице Excel мы можем найти название команды игрока, используя ВПР, чтобы сопоставить имя игрока и вернуть команду игрока:

Мы можем воспроизвести эту функцию, используя базу R или пакет dplyr:

Использование базы R:

 merge(df1, df2, by=" merge_column ")

Использование dplyr:

 inner_join(df1, df2, by=" merge_column ")

В следующих примерах показано, как использовать каждую из этих функций в R для репликации функции ВПР из Excel.

ВПР с использованием базы R

Следующий код показывает, как выполнить функцию, подобную ВПР, в базе R с помощью функции merge() :

 #create first data frame
df1 <- data.frame(player= LETTERS [1:15],
                  team= rep (c(' Mavs ', ' Lakers ', ' Rockets '), each =5))

#create second data frame 
df2 <- data.frame(player= LETTERS [1:15],
                  points=c(14, 15, 15, 16, 8, 9, 16, 27, 30, 24, 14, 19, 8, 6, 5))

#merge the two data frames
merge(df1, df2, by=" player ")

   player team points
1 A Mavs 14
2 B Mavs 15
3C Mavs 15
4D Mavs 16
5 E Mavs 8
6 F Lakers 9
7G Lakers 16
8 a.m. Lakers 27
9 I Lakers 30
10 J Lakers 24
11K Rockets 14
12L Rockets 19
13 M Rockets 8
14 N Rockets 6
15 O Rockets 5

Обратите внимание, что это возвращает те же результаты, что и функция ВПР во вводном примере. Также обратите внимание, что вы можете указать несколько столбцов для объединения, используя аргумент by .

ВПР с использованием dplyr

 library (dplyr)

#create first data frame
df1 <- data.frame(player= LETTERS [1:15],
                  team= rep (c(' Mavs ', ' Lakers ', ' Rockets '), each =5))

#create second data frame 
df2 <- data.frame(player= LETTERS [1:15],
                  points=c(14, 15, 15, 16, 8, 9, 16, 27, 30, 24, 14, 19, 8, 6, 5))

#merge the two data frames using inner_join
inner_join(df1, df2, by=" player ")

   player team points
1 A Mavs 14
2 B Mavs 15
3C Mavs 15
4D Mavs 16
5 E Mavs 8
6 F Lakers 9
7G Lakers 16
8 a.m. Lakers 27
9 I Lakers 30
10 J Lakers 24
11K Rockets 14
12L Rockets 19
13 M Rockets 8
14 N Rockets 6
15 O Rockets 5

Обратите внимание, что это возвращает те же результаты, что и функция ВПР в Excel. Также обратите внимание, что вы можете указать несколько столбцов для объединения, используя аргумент by .

Кроме того, если вы хотите, чтобы отображались несоответствия, вы можете использовать функцию left_join .

Дополнительные ресурсы

Как рассчитать совокупные суммы в R
Как стандартизировать данные в R
Как добавить строки во фрейм данных в R

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *