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?

Antworten auf die Frage(18)

Ihre Antwort auf die Frage