Text-to-Spalte entspricht in R, Spaltung dataframe auf den Charakter
Ich würde gerne wissen, wie split-Spalten, die in einer ähnlichen Weise, dass excel nicht in der "text-in-Spalten" - Funktion. Es gibt viele tutorials auf stackexchange darüber, wie split Spalten durch ein Zeichen, aber Sie kümmern sich nicht um 3 Dinge, die ich brauche:
1). arbeiten Sie mit einer Spalte, wo nur einige Zeilen haben den Charakter
2). arbeiten mit dataframe, dass viele Spalten hat
3). behandeln Sie die Spalten Zeichen/Faktoren
Habe ich zum Beispiel einen dataframe
df <- data.frame(V1 = c("01, 02", "04", "05, 06", "07, 08", "09", "10"),
V2 = c("11, 12", "14", "13, 14", 11, 14", "13", "15")
Wenn ich die Verwendung von text-zu-Spalten aus V1 in excel, ich würde am Ende mit 3 Spalten aufgeteilt, die auf das Komma. Eine zweite Spalte erstellt werden, für die nur diejenigen Zellen, die hatte ein Komma. Würde es leere Zellen, Zeilen für die keine Spalte. Ich hätte auch die Möglichkeit, die Behandlung der neuen Spalte als Zahl oder text. In diesem Fall brauche ich die führende null, also sollte es als text behandelt werden.
Es würde in etwa so Aussehen
V1 V2 V3
Row 1 01 02 11,12
Row 2 04 NA 14
Wie würde ich etwas tun, ähnlich wie in R, wenn man bedenkt, dass das dataset habe ich viele Spalten hat, so ist es nicht praktikabel, benennen Sie jede einzelne Spalte im code.
Ich hoffe, das war klar. Vielen Dank für die Hilfe!
df
hat eine "
fehlt.InformationsquelleAutor tom | 2014-12-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kann sein, dass das hilft
Wenn Sie möchten, dass beide Spalten
split
Den
default
isttype.convert= TRUE
, die umgewandeltnumeric
.Daten
InformationsquelleAutor akrun
Splitting mit strsplit und dann mit dem Zugriff auf "[" scheint zu funktionieren. Erkennen Sie, dass diese Faktoren waren zu beginnen mit, hoffe ich?
auch eine weitere Sache, die ich erwähnt in dem ersten post, dass ich zu viele Spalten zu nennen. Wie würde ich dies nur für eine Spalte? es sieht aus wie im code habe ich alle umbenennen zu Spalten.
Das "[" ist der Extrahieren-Funktion. Ich gebe ihm die Liste produziert von der
strsplit
- Funktion als erstes argument und entweder 1 oder 2 als position-argument.So... Sie möchten diesen Prozess zu Durchlaufen und bauen-Namen für diese neue split-Spalten von allen die ursprünglichen Spalten, aber Sie nicht wissen, wie viele Spalten es wirklich sind? Gibt es einen Grund, dass @akrun die Lösung nicht befriedigend ist die Anfrage?
InformationsquelleAutor 42-