我有时间序列数据,我想使用函数返回适当滞后和迭代的除数值。
数据:
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
答案 0 :(得分:1)
要将矢量x
的每个元素除以其后继元素,请使用:
x[-1] / x[-length(x)]
这将返回长度为length(x) - 1
的向量。如果您最后需要NaN
值,请通过c(x[-1] / x[-length(x)], NaN)
手动添加。