Jak wykonać wyszukaj.pionowo (podobnie jak w excelu) w r
Funkcja WYSZUKAJ.PIONOWO w programie Excel umożliwia znalezienie wartości w tabeli poprzez dopasowanie jej do kolumny.
Na przykład w poniższym arkuszu kalkulacyjnym programu Excel możemy wyszukać nazwę drużyny gracza, korzystając z funkcji WYSZUKAJ.PIONOWO, aby dopasować nazwę gracza i zwrócić drużynę gracza:
Możemy zreplikować tę funkcję za pomocą podstawowego R lub pakietu dplyr:
Korzystanie z bazy R:
merge(df1, df2, by=" merge_column ")
Używając dplyra:
inner_join(df1, df2, by=" merge_column ")
Poniższe przykłady pokazują, jak używać każdej z tych funkcji w języku R do replikowania funkcji WYSZUKAJ.PIONOWO z programu Excel.
WYSZUKAJ.PIONOWO przy użyciu Base R
Poniższy kod pokazuje, jak wykonać funkcję podobną do WYSZUKAJ.PIONOWO w bazowym R przy użyciu funkcji 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
Należy pamiętać, że zwraca to takie same wyniki, jak funkcja WYSZUKAJ.PIONOWO w przykładzie wprowadzającym. Pamiętaj również, że możesz określić wiele kolumn do połączenia za pomocą argumentu by .
WYSZUKAJ PIONOWO za pomocą 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
Należy pamiętać, że zwraca to takie same wyniki, jak funkcja WYSZUKAJ.PIONOWO w programie Excel. Pamiętaj również, że możesz określić wiele kolumn do połączenia za pomocą argumentu by .
Dodatkowo, jeśli chcesz, aby wyświetlały się niedopasowania, możesz użyć funkcji left_join .
Dodatkowe zasoby
Jak obliczyć sumy skumulowane w R
Jak standaryzować dane w R
Jak dodać wiersze do ramki danych w R