如何从R中的数据帧中获取第n个减去第(n-1)个项?

时间:2013-11-02 13:25:26

标签: r

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

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

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

3 个答案:

答案 0 :(得分:2)

headtail对此非常方便......

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

因此,这将同时为所有列逐行完成您所追求的目标。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

您也可以在此处使用filter

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