hist - randomforest r
¿Qué hace la función diff() en R? (2)
Calcula la diferencia entre pares de elementos consecutivos.
Digamos que la temp
son observaciones de alguna variable, por ejemplo, lecturas de temperatura tomadas en la hora. Luego diff(temp)
le dirá cuánto ha cambiado la temperatura durante cada hora.
El opuesto de diff()
es cumsum()
(suma acumulada):
> temp
[1] 10 1 1 1 1 1 1 2 1 1 1 1 1 1 1 3 10
> cumsum(c(10, diff(temp)))
[1] 10 1 1 1 1 1 1 2 1 1 1 1 1 1 1 3 10
No entiendo lo que hace la función diff()
en R Vea este ejemplo:
temp = c(10,1,1,1,1,1,1,2,1,1,1,1,1,1,1,3,10)
diff(temp)
El código anterior produce el siguiente resultado:
[1] -9 0 0 0 0 0 1 -1 0 0 0 0 0 0 2 7
¿Cuál es la definición de esta función?
La función calcula las diferencias entre todos los valores consecutivos de un vector. Para su vector de ejemplo, las diferencias son:
1 - 10 = -9
1 - 1 = 0
1 - 1 = 0
.
.
.
3 - 1 = 2
10 - 3 = 7
Las differences
argumento le permiten especificar el orden de las diferencias.
Por ejemplo, el comando
diff(temp, differences = 2)
[1] 9 0 0 0 0 1 -2 1 0 0 0 0 0 2 5
produce el mismo resultado que
diff(diff(temp))
[1] 9 0 0 0 0 1 -2 1 0 0 0 0 0 2 5
Por lo tanto, devuelve las diferencias de las diferencias.
El argumento lag
permite especificar el retraso.
Por ejemplo, si lag = 2
, se calculan las diferencias entre el tercer y el primer valor, entre el cuarto y el segundo valor, entre el quinto y el tercer valor, etc.
diff(temp, lag = 2)
[1] -9 0 0 0 0 1 0 -1 0 0 0 0 0 2 9