[performance] Liste in R vorbelegen



0 Answers

Um das zu erweitern, was @Jilber gesagt hat, wurde lapply speziell für diese Art von Operation entwickelt.

anstelle der for-Schleife könnten Sie verwenden:

x <- lapply(1:10, function(i) i)

Sie können dies auf kompliziertere Beispiele erweitern. Häufig kann das, was sich in dem Körper der for-Schleife befindet, direkt in eine Funktion übersetzt werden, die eine einzelne Zeile annimmt, die von jeder Iteration der Schleife wie eine Zeile aussieht.

Question

In R ist es ineffizient, eine Datenstruktur in einer Schleife zu erweitern. Wie reserviere ich eine list mit einer bestimmten Größe? matrix macht dies einfach über die Argumente ncol und nrow . Wie macht man das in Listen? Beispielsweise:

x <- list()
for (i in 1:10) {
    x[[i]] <- i
}

Ich nehme an, das ist ineffizient. Was ist ein besserer Weg, dies zu tun?




Related