R에서 vlookup(excel과 유사)을 수행하는 방법
Excel의 VLOOKUP 함수를 사용하면 열에서 일치하는 값을 테이블에서 찾을 수 있습니다.
예를 들어 다음 Excel 스프레드시트에서는 VLOOKUP을 사용하여 플레이어의 이름을 일치시키고 플레이어의 팀을 반환함으로써 플레이어의 팀 이름을 검색할 수 있습니다.
기본 R 또는 dplyr 패키지를 사용하여 이 기능을 복제할 수 있습니다.
기본 R 사용:
merge(df1, df2, by=" merge_column ")
dplyr 사용:
inner_join(df1, df2, by=" merge_column ")
다음 예에서는 R에서 이러한 각 함수를 사용하여 Excel의 VLOOKUP 함수를 복제하는 방법을 보여줍니다.
Base R을 사용하는 VLOOKUP
다음 코드는 merge() 함수를 사용하여 기본 R에서 VLOOKUP과 유사한 함수를 수행하는 방법을 보여줍니다.
#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
이는 소개 예제의 VLOOKUP 함수와 동일한 결과를 반환합니다. 또한 by 인수를 사용하여 병합할 여러 열을 지정할 수도 있습니다.
dplyr을 사용하는 VLOOKUP
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의 VLOOKUP 함수와 동일한 결과를 반환합니다. 또한 by 인수를 사용하여 병합할 여러 열을 지정할 수도 있습니다.
또한 일치하지 않는 항목을 표시하려면 left_join 함수를 사용할 수 있습니다.