Volevo vedere se qualcuno ha una soluzione più elegante. Ma qual è il modo appropriato per tenere traccia dell'indice corrente durante l'utilizzo di apply. Ad esempio, supponiamo di voler prendere SOLO la somma dall'elemento corrente che sto valutando andando avanti fino alla fine del mio vettore.Tenere traccia dell'indice corrente quando si applica
È questo il modo migliore per farlo?
y = rep(1,100)
apply(as.matrix(seq(1:length(y))),1,function(x) { sum(y[x:length(y)])})
Apprezzo il tuo contributo.
Solo una domanda per chiarire il problema discusso: non è un ciclo for più pratico se si ha bisogno di un indice? O mi manca il punto qui? – ROLO
@ROLO: la famiglia di funzioni '* apply' tipicamente può fornire una gestione della memoria molto ragionevole per i risultati e li memorizza in una forma pratica se' simplify = TRUE' (che non è così ovvio con questi semplici esempi). Storicamente, era anche così che erano molto più veloci dei cicli "normali", ma non è più vero. Quindi, per casi semplici, non importa troppo. –
+1 per il suggerimento di cessione – Thierry