As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center提供指导。




已关闭8年。




我不明白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

该函数的定义是什么?

最佳答案

该函数计算 vector 的所有连续值之间的差。对于示例 vector ,差异为:

 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

关于r - R中的diff()函数做什么? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13911486/

10-16 11:22
查看更多