Loops em R - Precisa usar o índice para evitar 'for'?

Eu sei que não é a melhor prática em R para usar ofor loop porque não tem um desempenho aprimorado. Para quase todos os casos, há uma função da família*apply isso resolve nossos problemas.

No entanto, estou enfrentando uma situação em que não vejo uma solução alternativa.

Eu preciso calcular a variação percentual para valores consecutivos:

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

Então, como você pode ver, eu tenho que usar tantox[i] elemento, mas também ox[i-1] elemento. Usando o*apply funções, eu só vejo como usar ox[i]. Existe de qualquer maneira eu posso evitar oforrotações?

questionAnswers(3)

yourAnswerToTheQuestion