Ich mache den Kurs Coursera R Programmierung und habe Probleme beim Versuch, die Bindung von For-Loop-Ergebnisse zu einem Vektor einzurichten.Binding For-Schleife Ausgabe mit Schwelle zu einem Vektor in R 3.3.1
Ich habe bereits sichergestellt, dass der Analyse-Code auf einer einzigen Tabelle funktioniert, aber ich bin mir nicht ganz sicher, wie man es erhält, alle 332
Werte zu binden.
corr <- function(directory, threshold = 0, id = 1:332) {
filename <- list.files(directory, full.names = TRUE)
a <- numeric()
for(i in id) {
tmp_data <- read.csv(filename[i])
nobs <- sum(complete.cases(tmp_data))
if(nobs < threshold) {
a} else {
nonas <- tmp_data[!is.na(tmp_data$sulfate) & !is.na(tmp_data$nitrate),]
x <- corr(nonas$sulfate, nonas$nitrate)
a[i] <- x
}
}
a
}
Als ich das laufen lasse, erhalte ich eine Rückkehr dieses Fehlers:
> x <- corr("specdata", 20)
Error in list.files(directory, full.names = TRUE) :
invalid 'path' argument
In anderen Funktionen, ich habe kein Problem mit der list.files
Linie hatte. Ich weiß, dass ich etwas falsch mache, aber ich kann es nicht herausfinden.
"specdata" ist in Ihrem Arbeitsverzeichnis? Andernfalls müssen Sie den vollständigen Pfad angeben, zum Beispiel: "C:/Benutzer/Dokumente/R/specdata" – Robert
Ja, "specdata" befindet sich in meinem Arbeitsverzeichnis. – JDS
Was ist, wenn Sie 'x <- corr (directory =" specdata ", threshold = 20) versuchen? –