我有一个时间序列数据,我想使用一个函数来返回适当的滞后和迭代除法值。
数据:
ID Temperature value
1 -1.1923333
2 -0.2123333
3 -0.593
4 -0.7393333
5 -0.731
6 -0.4976667
7 -0.773
8 -0.6843333
9 -0.371
10 0.754
11 1.798
12 3.023
13 3.8233333
14 4.2456667
15 4.599
16 5.078
17 4.9133333
18 3.5393333
19 2.0886667
20 1.8236667
21 1.2633333
22 0.6843333
23 0.7953333
24 0.6883333
该函数应按如下方式工作:
新值:23ID=值(24)/值(23),22ID=值(23)/值(22),21ID=值(22)/值(21),依此类推。
预期成果:
ID New Temperature value
1 0.17
2 2.79
3 1.24
4 0.98
5 0.68
6 1.55
7 0.885
8 0.54
9 -2.03
10 2.38
11 1.68
12 1.264
13 1.11
14 1.083
15 1.104
16 0.967
17 0.72
18 0.59
19 0.873
20 0.69
21 0.541
22 1.16
23 0.86
24 NAN
要将向量的每个元素x
除以其后继元素,请使用:
x[-1] / x[-length(x)]
这将返回一个长度为 length(x) - 1
的向量。如果您确实需要最后的NaN
值,请通过 c(x[-1] / x[-length(x)], NaN)
手动添加。