Функция ВПР в 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
3 C Mavs 15
4 D Mavs 16
5 E Mavs 8
6 F Lakers 9
7 G Lakers 16
8 H Lakers 27
9 I Lakers 30
10 J Lakers 24
11 K Rockets 14
12 L 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
3 C Mavs 15
4 D Mavs 16
5 E Mavs 8
6 F Lakers 9
7 G Lakers 16
8 H Lakers 27
9 I Lakers 30
10 J Lakers 24
11 K Rockets 14
12 L Rockets 19
13 M Rockets 8
14 N Rockets 6
15 O Rockets 5
Обратите внимание, что это возвращает те же результаты, что и функция ВПР в Excel. Также обратите внимание, что вы можете указать несколько столбцов для объединения с помощью аргумента by .
Кроме того, если вы хотите, чтобы отображались несовпадения, вы можете вместо этого использовать функцию left_join .
Дополнительные ресурсы
Как рассчитать кумулятивные суммы в R
Как стандартизировать данные в R
Как добавить строки во фрейм данных в R