Ich versuche, Informationen aus mehreren Datendateien zu extrahieren - genauer gesagt, wie viele vollständige Datensätze in jeder Datei vorhanden sind.Schleife gibt kumulatives Ergebnis zurück, nicht diskret
Hier ist, was ich geschrieben habe:
complete <- function(directory, id=1:332) {
files_senscomp <- list.files(directory, full.names=TRUE)[id]
pre_dat <- data.frame()
full_dat <- data.frame()
for (i in seq(files_senscomp)) {
pre_dat <- rbind(pre_dat, read.csv(files_senscomp[i]))
nobs <- sum(complete.cases(pre_dat))
id <- i
full_dat <- rbind(full_dat,data.frame(id,nobs))
}
full_dat
}
Was es gibt, aber kumulativ. Und die IDs sind falsch. Hier sind die Funktion in Aktion und das Ergebnis:
> complete("specdata", 40:45)
id nobs
1 1 21
2 2 248
3 3 308
4 4 382
5 5 665
6 6 1089
Warum funktioniert das nicht die IDs zurückgeben 40-45, zusammen mit einem „nobs“ Ergebnis für eine einzelne Datei nicht alle der bis zu diesem Punkt kombiniert Dateien?
@ 李哲源 ZheyuanLi -, die das Problem der kumulativen Ergebnisse löst, danke. Ich habe immer noch Probleme mit dem ID-Feld, das 40-45 zurückgeben sollte, aber 1-6 zurückgibt. – bdure