Schleifen in R - Müssen Sie trotzdem index verwenden, um 'for' zu vermeiden?

Ich weiß, dass es nicht die beste Praxis in R ist, das zu verwendenfor Schleife, weil es keine verbesserte Leistung hat. In fast allen Fällen gibt es eine Funktion der Familie*apply Das löst unsere Probleme.

Ich stehe jedoch vor einer Situation, in der ich keine Problemumgehung sehe.

Ich muss die prozentuale Abweichung für aufeinanderfolgende Werte berechnen:

<code>pv[1] <- 0
for(i in 2:length(x)) {
  pv[i] <- (x[i] - x[i-1])/x[i-1]
}
</code>

Wie Sie sehen, muss ich also beide verwendenx[i] Element, sondern auch diex[i-1] Element. Mit dem*apply funktionen, ich sehe nur, wie man das benutztx[i]. Gibt es sowieso das kann ich meidenforSchleifen?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage