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

时间:2012-12-18 14:15:35

标签: 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 

1 个答案:

答案 0 :(得分:1)

要将矢量x的每个元素除以其后继元素,请使用:

x[-1] / x[-length(x)]

这将返回长度为length(x) - 1的向量。如果您最后需要NaN值,请通过c(x[-1] / x[-length(x)], NaN)手动添加。