我不明白diff()
R 中的函数是做什么的。看这个例子:
temp = c(10,1,1,1,1,1,1,2,1,1,1,1,1,1,1,3,10)
diff(temp)
上面的代码产生以下输出:
[1] -9 0 0 0 0 0 1 -1 0 0 0 0 0 0 2 7
这个函数的定义是什么?
我不明白diff()
R 中的函数是做什么的。看这个例子:
temp = c(10,1,1,1,1,1,1,2,1,1,1,1,1,1,1,3,10)
diff(temp)
上面的代码产生以下输出:
[1] -9 0 0 0 0 0 1 -1 0 0 0 0 0 0 2 7
这个函数的定义是什么?
该函数计算向量的所有连续值之间的差异。对于您的示例向量,区别在于:
1 - 10 = -9
1 - 1 = 0
1 - 1 = 0
.
.
.
3 - 1 = 2
10 - 3 = 7
该参数differences
允许您指定差异的顺序。
例如,命令
diff(temp, differences = 2)
[1] 9 0 0 0 0 1 -2 1 0 0 0 0 0 2 5
产生与
diff(diff(temp))
[1] 9 0 0 0 0 1 -2 1 0 0 0 0 0 2 5
因此,它返回差异的差异。
该参数lag
允许您指定延迟。
例如,如果lag = 2
,则计算第三和第一值之间、第四和第二值之间、第五和第三值之间的差等。
diff(temp, lag = 2)
[1] -9 0 0 0 0 1 0 -1 0 0 0 0 0 2 9
它计算连续元素对之间的差异。
假设temp
是对某些变量的观察,例如每小时的温度读数。然后diff(temp)
会告诉你每小时温度变化了多少。
的反义词diff()
是cumsum()
(累计):
> 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