如何从R中的数据帧中得到第n项减去第(n-1)项?

如何从R中的数据帧中得到第n项减去第(n-1)项?,r,R,我有一个n行1列的数据帧。我可以这样做,找到第二行减去第一行: > dif = df[2,1] - df[1,1] 如何为df中的所有行找到df[n,1]-df[n-1,1]?头和尾非常方便 df <- data.frame( a = 1:5 , b = 5:1 ) tail(df,-1) - head(df,-1) # a b #2 1 -1 #3 1 -1 #4 1 -1 #5 1 -1 dfdiff对于此任务也很方便 > set.seed(1) >

我有一个n行1列的数据帧。我可以这样做,找到第二行减去第一行:

> dif = df[2,1] - df[1,1]

如何为df中的所有行找到
df[n,1]-df[n-1,1]

头和
尾非常方便

df <- data.frame( a = 1:5 , b = 5:1 )     
tail(df,-1) - head(df,-1)
#  a  b
#2 1 -1
#3 1 -1
#4 1 -1
#5 1 -1

df
diff
对于此任务也很方便

> set.seed(1)
> df <- data.frame( a = sample(5) , b = sample(5) )  # some data 
> sapply(df, diff)
      a  b
[1,]  3 -1
[2,] -1 -2
[3,] -1  1
[4,] -2 -2
>设置种子(1)
>df sapply(df,diff)
a b
[1,]  3 -1
[2,] -1 -2
[3,] -1  1
[4,] -2 -2

您也可以在此处使用
过滤器

filter(df,c(1,-1))