Split Spalte in mehrere Spalten R
Habe ich einen Daten-frame-Spalte, die ich brauche, aufgeteilt in 3 separate Spalte. Sieht wie folgt aus:
I:500-600
I:700-900
II:200-250
Ich möchte, aufgeteilt in die folgenden 3 Spalten:
V1 V2 V3
I 500 600
I 700 900
II 200 250
Dies erweist sich als etwas schwieriger, als ich gehofft hatte. Jede Hilfe würde geschätzt werden.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Andere Lösung mit
str_match
von derstringr
Paket:In den oben genannten regulären Ausdruck entsprechen wir 3 Teilstrings: von Anfang an
:
von:
zu-
, und von-
zu Ende. Jede übereinstimmenden Teilstring wird als eine separate Spalte in der resultierenden Objekt.Können Sie
strsplit
mit einer ODER-argument, das splitting mit:
oder-
dadurch erhalten Sie eine Liste, die Sie weiter verarbeiten kann.Sind die Namen wichtig
Andere Optionen sind
extract
austidyr
Oder
tstrsplit
ausdata.table
.HINWEIS: Beide Optionen Argumente zu konvertieren, die Klasse der Ausgabespalten
Daten
Ich würde empfehlen
cSplit
aus meiner "splitstackshape" - Paket.Die syntax ist ziemlich einfach:
cSplit(yourInputDataFrame, yourSplittingColumn, theDelimiters)
.Hier ist ein Beispiel auf einer
vector
. Sie würde überspringen derdata.table
Teil, wenn Sie bereits einedata.frame
oder einedata.table
.Standardmäßig, es läuft auch
type.convert
: