Quería ver si alguien tiene una solución más elegante. Pero, ¿cuál es la forma adecuada de realizar un seguimiento del índice actual mientras se utiliza apply? Por ejemplo, supongamos que quisiera tomar la suma ÚNICAMENTE del elemento actual que estoy evaluando hasta el final de mi vector.Realizando un seguimiento del índice actual al usar aplicar
¿Es esta la mejor manera de hacerlo?
y = rep(1,100)
apply(as.matrix(seq(1:length(y))),1,function(x) { sum(y[x:length(y)])})
Agradezco su opinión.
Sólo una pregunta para aclarar el problema discutido: ¿no es un bucle for más práctico si se necesita un índice? O me estoy perdiendo el punto aquí? – ROLO
@ROLO: la familia de funciones '* apply' generalmente puede proporcionar un manejo de memoria muy razonable para los resultados, y los almacena en una forma práctica si' simplify = TRUE' (que no es tan obvio con estos ejemplos simples). Históricamente, también solía ser de modo que eran mucho más rápidos que los bucles "normales", pero eso ya no es así. Entonces, para casos simples, no importa demasiado. –
+1 para la sugerencia cumsum – Thierry