在R中获得连续数据值之间的绝对差异

时间:2018-03-22 12:12:18

标签: r

我目前有296个随机数的列数据(所有整数)。我希望将连续值之间的绝对差异作为新列。

(因此,新列将包括| val.2 - val.1 |,| val.3 - val.2 |,| val 4. - val.3 | ...等。)

我会在Python中使用带有追加和新列表的for循环,但似乎我不能在R中做到这一点。在R中我可以用哪些方法做到这一点?谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用diffabs

dd <- data.frame(x = rpois(20, 10))
dd$diff = c(NA, abs(diff(dd$x)))

> dd
    x diff
1  12   NA
2  16    4
3   8    8
4  16    8
5   2   14
6  18   16
7   4   14
8   8    4
9  10    2
10 13    3
11  9    4
12 10    1
13  9    1
14 14    5
15 10    4
16 10    0
17 16    6
18 12    4
19 10    2
20 17    7