Hoe getallen uit strings in r te extraheren (met voorbeelden)


U kunt de volgende methoden gebruiken om getallen uit tekenreeksen in R te extraheren:

Methode 1: Extraheer het stringnummer met grondtal R

 as. numeric (gsub(" \\D ", "", df$my_column))

Methode 2: Extraheer het stringnummer met behulp van het reader-pakket

 library (readr)

parse_number(df$my_column)

In deze tutorial wordt uitgelegd hoe u elke methode in de praktijk kunt gebruiken met het volgende dataframe:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'),
                 position=c('Guard23', 'Guard14', '2Forward',
                            'Guard25', '6Forward', 'Center99'))

#view data frame
df

  team position
1A Guard23
2A Guard14
3 A 2Forward
4 B Guard25
5 B 6Forward
6 B Center99

Voorbeeld 1: Haal het getal uit een string met grondtal R

De volgende code laat zien hoe u de getallen uit elke tekenreeks in de positiekolom van het dataframe kunt extraheren:

 #extract number from each string in 'position' column
as. numeric (gsub(" \\D ", "", df$position))

[1] 23 14 2 25 6 99

Merk op dat de numerieke waarden uit elke string in de positiekolom zijn geëxtraheerd.

Opmerking : de functie gsub() vervangt eenvoudigweg alle niet-getallen ( \\D ) in een string door lege ruimte. Dit heeft tot gevolg dat alleen de getallen uit de string worden gehaald.

Als u wilt, kunt u deze numerieke waarden ook opslaan in een nieuwe kolom in het dataframe:

 #create new column that contains numbers from each string in 'position' column
df$num <- as. numeric (gsub(" \\D ", "", df$position))

#view updated data frame
df

  team position number
1A Guard23 23
2A Guard14 14
3 A 2Forward 2
4 B Guard25 25
5 B 6Forward 6
6 B Center99 99

Voorbeeld 2: Extraheer het getal uit een string met behulp van het Reader-pakket

De volgende code laat zien hoe u de getallen uit elke tekenreeks in de positiekolom van het dataframe kunt extraheren met behulp van de functie parse_number() uit het reader- pakket:

 library (readr)

#extract number from each string in 'position' column
parse_number(df$position)

[1] 23 14 2 25 6 99

Merk op dat de numerieke waarden uit elke string in de positiekolom zijn geëxtraheerd.

Dit komt overeen met de resultaten van het gebruik van de functie gsub() in basis R.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in R kunt uitvoeren:

Hoe u kolommen selecteert die een specifieke tekenreeks bevatten in R
Hoe tekens uit een string in R te verwijderen
Hoe de tekenlocatie in een string in R te vinden

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert