R - Argument fehlt ohne Verzug auch mit expliziten null-Prüfung
Ich hoffe diese Frage ist nicht so einfach wie sich der Titel macht es den Anschein. Ich arbeite mit dem R für ein paar Monate jetzt, aber ich kann nicht scheinen, um herauszufinden, was hier Los ist. Ich lese eine sehr große datasets und versuchen, zu konvertieren, die Spalten des richtigen Datentyps. Ich habe vier Spalten, die ich glaube, sind nur numerisch, aber es scheint, gibt es einige schlechte Daten hier irgendwo. Beim Lesen dieser Spalten, die als numerische sehe ich das Problem:
scan() erwartet als 'real', '"2'
Scheint einfach genug, so schrieb ich diese Methode für sehr sicher-Streifen keine Zitate, die eventuell existieren in der Spalte:
setAs("character", "num_strip_quote",
function(from) {
coerceString = NA
if(!is.null(from)){
coerceString = from
}
as.numeric(gsub('"'), "", coerceString)
}
)
Und hier ist mein Lesen.csv-Methode:
data <- read.csv("data.csv", header=TRUE, stringsAsFactors = FALSE, na.strings = c("NA", ""),
colClasses = c(rep("character", 3),
rep("num_strip_quote", 1),
rep("character", 3),
rep("num_strip_dollar_comma", 3),
rep("character", 3),
"num_strip_dollar_comma",
rep("character", 4),
"num_strip_dollar_comma",
"date"))
Habe ich isoliert das Problem an die vierte Spalte an dieser Stelle. Noch wenn ich diese ausführe bekomme ich diesen Fehler:
Fehler in gsub("\"") : argument "x" is missing, with no default
Ich sehe nicht, wie eine fehlende oder null-Wert wird durch immer, aber es scheint, wie es ist. Irgendeine Idee, was ich verpasst habe?
?gsub
dann schauen Sie auf die Klammern im as.numeric(gsub('"'), "", coerceString)
Gut, ich bin verlegen. Vielen Dank für die eagle eye review da 🙂
InformationsquelleAutor bradden_gross | 2015-01-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Meine ursprüngliche Aufruf entfernen Sie die Zitate aus den Saiten war:
als.numeric(gsub('"'), "", coerceString)
Legte ich eine zusätzliche Klammer in die gsub-Methode, die verursacht der Anruf, um nur einen param statt der erforderlichen drei. Es sollte haben:
als.numeric(gsub('"', "", coerceString))
InformationsquelleAutor bradden_gross