Ich versuche, die colClasses
Optionen in der read.csv
Funktion in R anzugeben . In meinen Daten ist die erste Spalte "Zeit" im Grunde ein Zeichenvektor, während der Rest der Spalten numerisch ist.
data <- read.csv("test.csv", comment.char="" ,
colClasses=c(time="character", "numeric"),
strip.white=FALSE)
Im obigen Befehl möchte ich, dass R in der Spalte "Zeit" als "Zeichen" und der Rest als numerisch liest. Obwohl die Variable "data" nach Abschluss des Befehls das richtige Ergebnis hatte, gab R die folgenden Warnungen zurück. Ich frage mich, wie ich diese Warnungen beheben könnte.
Warning messages:
1: In read.table(file = file, header = header, sep = sep, quote = quote, :
not all columns named in 'colClasses' exist
2: In tmp[i[i > 0L]] <- colClasses :
number of items to replace is not a multiple of replacement length
Derek
read.table
.Sie können die colClasse nur für eine Spalte angeben.
In Ihrem Beispiel sollten Sie also Folgendes verwenden:
quelle
Angenommen, Ihre 'Zeit'-Spalte enthält mindestens eine Beobachtung mit einem nicht numerischen Zeichen und alle anderen Spalten haben nur Zahlen. Dann liest' read.csv standardmäßig 'Zeit' als 'Faktor' und den Rest von die Spalten als 'numerisch'. Daher hat das Setzen von 'stringsAsFactors = F' das gleiche Ergebnis wie das manuelle Setzen von 'colClasses', dh
quelle
Wenn Sie sich auf Namen aus der Kopfzeile anstatt auf Spaltennummern beziehen möchten, können Sie Folgendes verwenden:
quelle
Angenommen, meine Datums- / Uhrzeitfelder befinden sich für mehrere Datums- / Uhrzeitspalten ohne Kopfzeile und viele Spalten in den Spalten 36 und 38, und ich möchte, dass sie als Zeichenfelder eingelesen werden:
quelle
Ich weiß, dass OP nach der
utils::read.csv
Funktion gefragt hat , aber lassen Sie mich eine Antwort auf diese Fragen geben, die hier auf der Suche nachreadr::read_csv
der Vorgehensweise von der Tidyverse kommen.Dies sollte den Standardtyp für alle Spalten als Zeichen festlegen , während die Zeit als Ganzzahl analysiert wird.
quelle
Wenn wir kombinieren, was @Hendy und @Oddysseus Ithaca beigetragen haben, erhalten wir einen saubereren und allgemeineren (dh anpassungsfähigen?) Codeabschnitt.
quelle