我有一个n行和1列的数据帧。我可以这样做,找到第二行减去第一行:
> dif = df[2,1] - df[1,1]
如何为df中的所有行找到df[n,1] - df[n-1, 1]
答案 0 :(得分:2)
head
和tail
对此非常方便......
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))