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

Einen Kommentar hinzufügen

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