Utilização da função diff em R
O cálculo da diferença entre os elementos é uma operação fundamental. Podemos também calcular facilmente a diferença entre elementos consecutivos, mas para grandes conjuntos de dados que o conseguem manualmente, linha a linha não é eficiente.
Na programação R, o diff()
calcula a diferença entre os elementos consecutivos do vector, que é passada para a função. O resultado final é também um vector. Por exemplo:
x <- c(5,3,4,3,8,9,4,8,1)
diff(x)
[1] -2 1 -1 5 1 -5 4 -7
Como se pode ver no exemplo acima, a função diff()
devolve a diferença entre elementos consecutivos (3 - 5 = -2, 4 - 3 = 1,….). Além disso, repare que o vector resultante tem menos um elemento; isto é porque não pode calcular a diferença do último elemento.
Podemos também adicionar dois parâmetros à função diff()
. Estes são os parâmetros lag
e as differences
.
O parâmetro lag
pode especificar o intervalo entre os elementos cuja diferença é calculada. É 1 por defeito. Quando o parâmetro lag
é 2, a função diff()
calculará a diferença entre o primeiro e terceiro elemento, o segundo e quarto elemento, etc. O exemplo seguinte irá esclarecer as coisas:
diff(x, lag = 2)
[1] -1 0 4 6 -4 -1 -3
O parâmetro differences
é utilizado para especificar a ordem das diferenças. Por exemplo, fixamo-lo em 2; depois calculará primeiro a diferença entre os elementos vectoriais dados, depois calculará novamente a diferença dos elementos consecutivos do vector resultante. O seguinte trecho de código explicará isto:
diff(x)
[1] -2 1 -1 5 1 -5 4 -7
diff(x, differences = 2)
[1] 3 -2 6 -4 -6 9 -11
Também podemos ter estes dois parâmetros definidos para algum valor específico ao mesmo tempo. Por exemplo, no código abaixo, definimos o lag
como 2 e as differences
como 2.
diff(x, differences = 2, lag = 2)
[1] 5 6 -8 -7 1
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn