在 R 中使用 diff 函数
Manav Narula
2021年2月9日
计算元素之间的差异是一个基本操作。我们也可以很容易地计算出连续元素之间的差值,但对于庞大的数据集来说,手动实现这个功能,逐行计算效率不高。
在 R 编程中,diff()
可以计算矢量的连续元素之间的差值,并将其传递给函数。最后的结果也是一个向量。比如说
x <- c(5,3,4,3,8,9,4,8,1)
diff(x)
[1] -2 1 -1 5 1 -5 4 -7
在上面的例子中,你可以看到,diff()
函数返回连续元素之间的差值(3 - 5 = -2, 4 - 3 = 1,….)。另外,注意到结果向量少了一个元素,这是因为它不能计算最后一个元素的差值。
我们还可以在 diff()
函数中加入两个参数。这两个参数是 lag
和 differences
参数。
lag
参数可以指定计算差值的元素之间的差距。默认为 1。当 lag
参数为 2 时,diff()
函数将计算第一个和第三个元素、第二个和第四个元素之间的差值,等等。下面的例子将使事情变得清晰起来。
diff(x, lag = 2)
[1] -1 0 4 6 -4 -1 -3
differences
参数用来指定差值的顺序。例如,我们将其设置为 2,那么它将首先计算给定向量元素之间的差值,然后再次计算结果向量的连续元素的差值。下面的代码片段将解释这一点。
diff(x)
[1] -2 1 -1 5 1 -5 4 -7
diff(x, differences = 2)
[1] 3 -2 6 -4 -6 9 -11
我们也可以将这两个参数同时设置为一些特定的值。例如,在下面的代码中,我们将 lag
设置为 2,将 differences
设置为 2。
diff(x, differences = 2, lag = 2)
[1] 5 6 -8 -7 1
作者: Manav Narula
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