Как выполнить впр (аналог 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