函数以返回 R 中适当的滞后和迭代除值

  • 本文关键字:滞后 迭代 返回 函数 r divide
  • 更新时间 :
  • 英文 :


我有一个时间序列数据,我想使用一个函数来返回适当的滞后和迭代除法值。

数据:

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) 手动添加。