Een vert.zoeken doen (vergelijkbaar met excel) in r
Met de functie VERT.ZOEKEN in Excel kunt u een waarde in een tabel vinden door deze in een kolom te matchen.
In het volgende Excel-spreadsheet kunnen we bijvoorbeeld zoeken naar de teamnaam van een speler door VERT.ZOEKEN te gebruiken om de naam van de speler te matchen en het team van de speler terug te geven:
We kunnen deze functie repliceren met behulp van base R of het dplyr-pakket:
Basis R gebruiken:
merge(df1, df2, by=" merge_column ")
dplyr gebruiken:
inner_join(df1, df2, by=" merge_column ")
De volgende voorbeelden laten zien hoe u elk van deze functies in R kunt gebruiken om de functie VERT.ZOEKEN vanuit Excel te repliceren.
VERT.ZOEKEN met Base R
De volgende code laat zien hoe u een VLOOKUP-achtige functie uitvoert in basis R met behulp van de functie 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
Houd er rekening mee dat dit dezelfde resultaten oplevert als de functie VERT.ZOEKEN in het inleidende voorbeeld. Houd er ook rekening mee dat u meerdere kolommen kunt opgeven om samen te voegen met behulp van het argument by .
VERT.ZOEKEN met 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
Houd er rekening mee dat dit dezelfde resultaten oplevert als de functie VERT.ZOEKEN in Excel. Houd er ook rekening mee dat u meerdere kolommen kunt opgeven om samen te voegen met behulp van het argument by .
Als u bovendien wilt dat niet-overeenkomsten worden weergegeven, kunt u de functie left_join gebruiken.
Aanvullende bronnen
Hoe cumulatieve bedragen in R te berekenen
Hoe gegevens in R te standaardiseren
Rijen toevoegen aan een dataframe in R