Inhoudsopgave:
- Als u de exacte positie van een subtekst binnen een tekstelement kent, gebruikt u de functie substr () om de waarde te retourneren. De subtekst extraheren die begint bij de derde positie en stopt bij de zesde positie van de staat. naam, gebruik het volgende: >> head (substr (naam van de status, start = 3, stop = 6)) [1] "abam" "aska" "izon" "kans" "lifo" "lora" > Zoeken op patroon in R
- patroon
Video: Parkinson logopedie oefeningen 2024
Wanneer u met tekst werkt, kunt u vaak problemen oplossen als u in tekst woorden of patronen kunt vinden. R maakt dit eenvoudig om te doen. Stel je voor dat je een lijst hebt met de staten in de Verenigde Staten, en je wilt weten in welke van deze staten het woord Nieuw staat.
Om dit probleem te onderzoeken, kunt u de ingebouwde gegevenssetstatussen gebruiken. namen, die - je raadt het al - de namen van de staten van de Verenigde Staten bevatten:
In grote lijnen kunt u subtekenreeksen vinden in tekst op twee manieren:
Op positie:
-
U kunt bijvoorbeeld R vertellen om drie letters te krijgen die beginnen op positie 5. Op patroon:
-
U kunt bijvoorbeeld R vertellen om substrings te krijgen die overeenkomen met een specifiek woord of patroon. Een patroon lijkt een beetje op een wildcard. In sommige kaartspellen mag u de Jokerkaart gebruiken om elke andere kaart te vertegenwoordigen. Evenzo kan een patroon in R woorden of bepaalde symbolen met speciale betekenissen bevatten.
Als u de exacte positie van een subtekst binnen een tekstelement kent, gebruikt u de functie substr () om de waarde te retourneren. De subtekst extraheren die begint bij de derde positie en stopt bij de zesde positie van de staat. naam, gebruik het volgende: >> head (substr (naam van de status, start = 3, stop = 6)) [1] "abam" "aska" "izon" "kans" "lifo" "lora" > Zoeken op patroon in R
Om substrings te vinden, kunt u de grep () functie gebruiken, die twee essentiële argumenten vereist:
patroon
:Het patroon dat u wilt vinden.
-
x : De tekenvector die u wilt zoeken.
-
Stel dat u alle statussen wilt vinden die het patroon Nieuw bevatten. Doe het zo: >> grep ("Nieuw", naam staat) [1] 29 30 31 32 Het resultaat van grep () is een numerieke vector met de posities van elk van de elementen die de passend patroon. Met andere woorden, het 29e staatselement. naam bevat het woord Nieuw. >> staat. naam [29] New Hampshire
Phew, dat werkte! Maar het invoeren van de positie van elke overeenkomende tekst zal heel wat werk zijn. Gelukkig kunt u de resultaten van grep () rechtstreeks gebruiken om de oorspronkelijke vector in te stellen: >> staat. naam [grep ("Nieuw", naam staat)] [1] "New Hampshire" "New Jersey" [3] "New Mexico" "New York"
De functie grep () is hoofdlettergevoelig - het komt alleen overeen tekst in hetzelfde geval (hoofdletters of kleine letters) als uw zoekpatroon. Als u het patroon "nieuw" in kleine letters zoekt, zijn uw zoekresultaten leeg: >> staat. naam [grep ("nieuw", staat.naam)] karakter (0)