Inhoudsopgave:
- Een overeenkomst zoeken
- Een erg handig alternatief voor overeenkomst () is de functie% in%, die een logische vector retourneert die aangeeft of er een overeenkomst is.
Video: Excel Vlookup - verticaal zoeken 2024
Soms is een volledige samenvoeging van de gegevens in R niet precies wat u zoekt. In deze gevallen kan het passender zijn om waarden in een opzoektabel met elkaar te vergelijken. Hiertoe kunt u de functie match () of% in% gebruiken.
Een overeenkomst zoeken
De functie match () retourneert de overeenkomende posities van twee vectoren of, meer specifiek, de posities van eerste overeenkomsten van één vector in de tweede vector. Om bijvoorbeeld te achterhalen welke grote toestanden ook voorkomen in de dataframekoeling. staten, kunt u het volgende doen:
Zoals u ziet, is het resultaat een vector die aangeeft dat overeenkomsten gevonden zijn op positie één, vier, vijf en zes. Je kunt dit resultaat als een index gebruiken om alle grote staten te vinden die ook koude staten zijn.
Houd er rekening mee dat u eerst de NA-waarden moet verwijderen, met behulp van na. weglaten (): >> groot. staten [na. weglaten (index),] Naam Gebied 2 Alaska 566432 6 Colorado 103766 26 Montana 145587 28 Nevada 109889
Hoe u zin kunt geven aan% in%
Een erg handig alternatief voor overeenkomst () is de functie% in%, die een logische vector retourneert die aangeeft of er een overeenkomst is.
De% in% -functie is een speciaal soort functie die eenbinaire operator wordt genoemd.
Dit betekent dat u het gebruikt door het tussen twee vectoren te plaatsen, in tegenstelling tot de meeste andere functies waar de argumenten tussen haakjes staan: >> indexindex [1] WAAR WAAR ONWAAR ONWAAR WAAR WAAR ONWAAR ONWAAR ONWAAR ONWAAR je vergelijkt dit met het resultaat van match (), je ziet dat je een TRUE-waarde hebt voor elke niet-ontbrekende waarde in het resultaat van match (). Of, om het in R-code te zetten, doet de operator% in% hetzelfde als de volgende code:
De match () functie retourneert de indices van de matches in de
tweede
-argument voor de waarden in het argumenteerste
. Aan de andere kant retourneert% in% WAAR voor elke waarde in het argument eerste die overeenkomt met een waarde in het tweede argument. De volgorde van de argumenten is hier belangrijk. Omdat% in% een logische vector retourneert, kunt u deze rechtstreeks gebruiken om waarden in een vector te indexeren. >> koud. states [index,] Naam Frost 2 Alaska 152 6 Colorado 166 26 Montana 155 28 Nevada 188 Zoals eerder vermeld, is de% in% -functie een voorbeeld van een binaire operator in R. Dit betekent dat de functie wordt gebruikt door het tussen twee waarden, net als voor andere operatoren, zoals + (plus) en - (min). Tegelijkertijd bevindt% in% zich in een infix-operator . Een infix-operator in R is herkenbaar aan de procenttekens rond de functienaam.
Als u wilt weten hoe% in% is gedefinieerd, bekijkt u het gedeelte met details op de helppagina. Merk echter op dat u aanhalingstekens rond de functienaam moet plaatsen om de Help-pagina te krijgen, zoals deze:? "%in%".