如何使用Diff Row-wise

时间:2017-07-20 16:52:40

标签: r

我有一个值为c(80,70,50,40, 30)的列。我需要减去(80-70)等,如下所示。

下面是列和所需的输出。所需的第一个值是0,然后是diff值。我在R中尝试这个。

Col 1   Diff
80      0
70     10
50     20
40     10
30     10

2 个答案:

答案 0 :(得分:3)

您想要diff

c(0, -diff(c(80, 70, 50, 40, 30)))

答案 1 :(得分:0)

x <- c(80,70,50,40,30)
y <- c(100, 120, 30, 20, 10)

df <- data.frame(x, y)

df$x1 <- c(0, abs(diff(x)))
df$y1 <- c(0, abs(diff(y)))

但是,以上只有在值按降序排列时才有效...所以请改用它。

df$x2 <- c(0, 0-(diff(x))) 
df$y2 <- c(0, 0-(diff(y)))