2012-02-23 30 views
6

Decir que tengo un vector en R:Reste cambió vectores en R

x <- c(1,2,3) 

hay una manera concisa para crear un nuevo vector y que es uno menos que el tamaño de x donde:

y <- x[i+1] - x[i] 

sin usar un for-loop?

+0

Para tramas de datos Ver la relacionada http://stackoverflow.com/questions/9405552/ – Henry

Respuesta

11

diff(x) es la respuesta obvia.

Una alternativa más básica es x[-1] - x[-length(x)] y esto puede ser fácilmente adaptado por ejemplo a sumas o productos de términos consecutivos

2

Puede utilizar "diff" para obtener la diferencia entre dos elementos consecutivos en una lista,

ejemplo:

diff(x) 

puede ayudarle.