eschleunigen Sie die Schleifenoperation in R
Ich habe ein großes Leistungsproblem in R. Ich habe eine Funktion geschrieben, die über ein @ iterierdata.frame
Objekt. Es wird einfach eine neue Spalte zu einem @ hinzugefüdata.frame
und sammelt etwas. (einfache Bedienung). Dasdata.frame
hat ungefähr 850K Zeilen. Mein PC ist noch in Betrieb (ungefähr um 10 Uhr) und ich habe keine Ahnung von der Laufzeit.
dayloop2 <- function(temp){
for (i in 1:nrow(temp)){
temp[i,10] <- i
if (i > 1) {
if ((temp[i,6] == temp[i-1,6]) & (temp[i,3] == temp[i-1,3])) {
temp[i,10] <- temp[i,9] + temp[i-1,10]
} else {
temp[i,10] <- temp[i,9]
}
} else {
temp[i,10] <- temp[i,9]
}
}
names(temp)[names(temp) == "V10"] <- "Kumm."
return(temp)
}
Haben Sie eine Idee, wie Sie diesen Vorgang beschleunigen können?