R中的diff()函数做什么?
我不理解R中的函数R中的diff()函数做什么?,r,R,我不理解R中的函数diff()的作用。请参见此示例: 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 =
diff()
的作用。请参见此示例:
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()
(累积和):
是的,但我无法理解它背后的概念。什么是应用程序,以及结果是如何计算的?参数“differences”有什么作用?@user1885733查看我答案的更新。@user1885733如果调用
diff(x)
而不使用参数lag
和differences
,则默认值(即1)将使用。这与diff(x,lag=1,differences=1)
相同。另请参见
> 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