So extrahieren sie zahlen aus zeichenfolgen in r (mit beispielen)
Sie können die folgenden Methoden verwenden, um Zahlen aus Zeichenfolgen in R zu extrahieren:
Methode 1: String-Nummer mit Basis R extrahieren
as. numeric (gsub(" \\D ", "", df$my_column))
Methode 2: Extrahieren Sie die Zeichenfolgennummer mit dem readr-Paket
library (readr)
parse_number(df$my_column)
In diesem Tutorial wird erläutert, wie Sie die einzelnen Methoden in der Praxis mit dem folgenden Datenrahmen verwenden:
#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
Beispiel 1: Extrahieren Sie die Zahl aus einer Zeichenfolge mit der Basis R
Der folgende Code zeigt, wie die Zahlen aus jeder Zeichenfolge in der Positionsspalte des Datenrahmens extrahiert werden:
#extract number from each string in 'position' column as. numeric (gsub(" \\D ", "", df$position)) [1] 23 14 2 25 6 99
Beachten Sie, dass die numerischen Werte aus jeder Zeichenfolge in der Positionsspalte extrahiert wurden.
Hinweis : Die Funktion gsub() ersetzt einfach alle Nicht-Zahlen ( \\D ) in einer Zeichenfolge durch Leerzeichen. Dadurch werden nur die Zahlen aus der Zeichenfolge extrahiert.
Wenn Sie möchten, können Sie diese numerischen Werte auch in einer neuen Spalte im Datenrahmen speichern:
#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
Beispiel 2: Extrahieren Sie die Zahl aus einer Zeichenfolge mit dem Reader-Paket
Der folgende Code zeigt, wie die Zahlen aus jeder Zeichenfolge in der Positionsspalte des Datenrahmens mithilfe der Funktion parse_number() aus dem Paket readr extrahiert werden:
library (readr) #extract number from each string in 'position' column parse_number(df$position) [1] 23 14 2 25 6 99
Beachten Sie, dass die numerischen Werte aus jeder Zeichenfolge in der Positionsspalte extrahiert wurden.
Dies entspricht den Ergebnissen der Verwendung der Funktion gsub() in Basis R.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in R ausführen:
So wählen Sie Spalten aus, die eine bestimmte Zeichenfolge in R enthalten
So entfernen Sie Zeichen aus einer Zeichenfolge in R
So finden Sie die Zeichenposition in einer Zeichenfolge in R