从当前 R 中减去下一个值

Subtract next value from present R

我想在我的数据框中做的是创建一个新列,其值减去当前值 (n),减去下一个值 (n + 1),所以它是:(n + 1) - (n).

diff() 命令执行 (n) - (n - 1)。

例如:

Id  Value   Diff    Diff_Wanted
1   120     NA      2
2   122     2       3
3   125     3       3
4   128     3       6
5   134     6       6
6   140     6       12
7   152     12      8
8   160     8       NA

Diff_Wanted 是要添加到数据框中的所需列。

library(dplyr)
df %>% mutate(Diff_Wanted = lead(Value - lag(Value)))
# A tibble: 8 x 4
     Id Value  Diff Diff_Wanted
  <dbl> <dbl> <dbl>       <dbl>
1     1   120    NA           2
2     2   122     2           3
3     3   125     3           3
4     4   128     3           6
5     5   134     6           6
6     6   140     6          12
7     7   152    12           8
8     8   160     8          NA