2016-10-25 6 views
0

I Zeichenfolge, die wie diesesvon Einzelsaite erstellen R Datenrahmen-Elemente und Leerzeichen enthalten

string <- "\n\t\t\t1,2\n\t\t\t3,4\n\t\t" 

schaut Und ich brauche

1 2 
3 4 

Eine Möglichkeit, folgende Datenrahmen zu erstellen ist strsplit Funktion zu nutzen, aber es fühlt sich an, als müsste es viel besser gehen. Jede Hilfe wird geschätzt.

+0

Um die letzte Zeile auszublenden, 'read.csv (text = trimws (" \ n \ t \ t \ t1,2 \ n \ t \ t3,4 \ n \ t \ t "), Kopfzeile = FALSE) ' – alistaire

+0

Danke, es funktioniert! – ZsideZ

Antwort

3

Sie können eine Zeichenkette in eine Sache konvertieren, die ein bisschen wie eine Datei mit textConnection verhält und ihn dann zu read.csv:

> read.csv(textConnection(string),head=FALSE) 
    V1 V2 
1 1 2 
2 3 4 
3 NA NA 

die Streu Tabs nach dem letzten Newline erzeugen, dass letzte Zeile der NA-Werte , Sie müssten auf diese Weise aufpassen.

+2

Sie können einfach 'read.csv (text = string, header = FALSE)' 'verwenden, da alles durch' read.table' mit dem Argument 'text =' übergeben wird. Und das spart ganze 10 Zeichen, die Sie dann für Moonpies und Pennywhistles ausgeben können. – thelatemail

+0

Ich dachte, 'textConnection' wäre eine allgemeinere Lösung, die überall dort angewendet werden kann, wo sich Text in einem Objekt und nicht in einer Datei befindet. Aber 'readr :: read_csv 'beschwert sich, weil es nicht binär ist und kein' text =' argument .... base R ftw! – Spacedman

Verwandte Themen