Schlechte Interpretation von # N / A mit 'fread'

9

Ich verwende data.table fread() function, um einige Daten zu lesen, die fehlende Werte haben und die in Excel generiert wurden, so dass die Zeichenfolge für fehlende Werte "# N / A" ist. Wenn ich jedoch den Befehl na.strings verwende, ist das letzte str der gelesenen Daten immer noch Zeichen. Um dies zu replizieren, hier Code und Daten.

Daten:

%Vor%

(in temp.csv gespeicherte Daten) Code:

%Vor%

gibt (ich habe einen größeren Datensatz, vernachlässige also die Anzahl der Beobachtungen):

%Vor%

Dieser Code funktioniert einwandfrei

%Vor%

Ist das ein Fehler? Gibt es eine intelligente Problemumgehung?

    
krhlk 03.04.2013, 09:52
quelle

1 Antwort

5

Die Dokumentation von ?fread für na.strings lautet:

  

na.strings Ein Zeichenvektor für Zeichenfolgen, die in NA_character _ konvertiert werden sollen. Standardmäßig wird für Spalten gelesen als Typzeichen ",," als leere Zeichenfolge gelesen ("") und "NA" wird als NA_character_ gelesen. Typische Alternativen könnten na.strings = NULL oder vielleicht na.strings = c ("NA", "N / A", "") sein.

Sie sollten sie nach Zahlen in Zahlen umwandeln, nehme ich an. Zumindest verstehe ich das aus der Dokumentation.

So etwas?

%Vor%     
Arun 03.04.2013, 10:14
quelle

Tags und Links