Lesen von Brüchen in der CSV-Datei mit R

8

Ich habe eine Textdatei mit numerischen Daten, mit Kopfzeilen, wobei einige Zahlen als Brüche eingegeben werden, einige als Ganzzahlen eingegeben werden und einige als Gleitkommazahlen eingegeben werden, z. B .:

%Vor%

Wie kann ich diese Ausdrücke auswerten und als Zahlen speichern, wenn ich read.csv verwende?

Danke ...

    
Ben S. 11.10.2016, 18:14
quelle

2 Antworten

7

Importieren Sie zuerst Ihre Daten als Vektor von Zeichenketten. Wenn Sie Ihr Spielzeugbeispiel in der Frage verwenden, können wir dies durch

tun %Vor%

Sobald Sie Ihre Daten in einem Zeichenvektor gespeichert haben, können wir mit eval(parse()) die Ausdrücke so auswerten, als wären sie an der Konsole eingegeben worden. Leider ist eval nicht vektorisiert, also wickeln wir es in sapply, um diese Funktion nacheinander auf jedes Element Ihrer Daten anzuwenden

%Vor%

Wir können dies erweitern, um mit mehrzeiligen Daten umzugehen, indem wir die obige Methode für jede Spalte gleichzeitig anwenden. Zum Beispiel, so

%Vor%     
dww 11.10.2016, 20:06
quelle
1

Ich würde dringend empfehlen, fread () im Paket "data.table" zu verwenden. Es ist unglaublich schnell und sehr robust in fast allen Situationen.

%Vor%

Wenn Ihre Werte immer noch nicht in dem Format sind, nach dem Sie suchen, können Sie "as.integer ()" oder "as.numeric ()" verwenden:

%Vor%

Hoffe, das hilft!

    
mjfred 11.10.2016 18:23
quelle

Tags und Links