如何在 R 数据框中从底部开始查找行值之间的差异?


如果一个 R 数据框包含所有数值列,并且我们想找到行值之间的差异,那么我们将丢失数据框的第一行,因为它不会从任何行中减去。这可以通过使用 head 函数和减号来实现。它将按以下方式工作:从最后一行减去倒数第二行,然后从倒数第二行减去倒数第三行,依此类推。

示例

考虑以下数据框 -

 在线演示

x1<-rpois(20,2)
y1<-rpois(20,3)
z1<-rpois(20,5)
w1<-rpois(20,8)
v1<-rpois(20,10)
df1<-data.frame(x1,y1,z1,w1,v1)
df1

输出

  x1 y1 z1 w1 v1
1  2  3  3 13 15
2  4  1  8 12  7
3  1  1  5  8  8
4  2  2  5  6 11
5  4  4  5  7  8
6  4  9  4  8  6
7  1  2  4 10 12
8  1  3  4 10  9
9  2  2  3  7  6
10 2  5  6  8 10
11 1  2  3  4  8
12 0  2  4 12 11
13 3  5  5  7  5
14 1  2  3  4  7
15 1  3  6  6  9
16 3  6  4 12 10
17 3  1  3 14 17
18 4  4  4  7 11
19 2  3  7  6 14
20 3  4  4  9 15

查找从底部开始的差异 -

示例

tail(df1,-1)-head(df1,-1)

输出

   x1  y1  z1  w1 v1
2   2  -2   5  -1 -8
3  -3   0  -3 -4   1
4   1   1   0  -2  3
5   2   2   0   1  -3
6   0   5   -1  1  -2
7  -3  -7    0  2   6
8   0   1    0  0  -3
9   1   -1  -1 -3  -3
10  0    3   3  1   4
11 -1  -3   -3  -4 -2
12 -1   0    1   8  3
13  3   3    1  -5  -6
14  -2 -3    -2 -3  2
15   0  1    3   2  2
16   2  3    -2  6  1
17   0 -5    -1  2  7
18   1  3    1  -7  -6
19  -2 -1    3  -1  3
20   1  1    -3  3  1

让我们看看另一个例子 -

示例

 在线演示

x2<-sample(1:10,20,replace=TRUE)
y2<-sample(1:10,20,replace=TRUE)
z2<-sample(1:10,20,replace=TRUE)
w2<-sample(1:10,20,replace=TRUE)
v2<-sample(1:10,20,replace=TRUE)
df2<-data.frame(x2,y2,z2,w2,v2)
df2

输出

  x2 y2 z2 w2 v2
1 10  6 2  8  8
2 8   7 1  6  10
3 6   5 10 2  8
4 3   5 4  4  4
5 10  6 3  1  3
6 5   6 6  7  1
7 4   7 5  9  4
8 2  6  2  1 1
9 2  7  5  4 4
10 2 2  6  6 9
11 2 2  4  8 3
12 2 10 1  5 2
13 8 3  8  8 10
14 8 9  3  10 3
15 7 5 10  2  1
16 2 8  4  7  5
17 4 3  7  4  2
18 5 8  3  8  2
19 5 9  5  4  2
20 6 5  6  7  9

示例

tail(df2,-1)-head(df2,-1)

输出

  x2 y2 z2 w2 v2
2 -2 1 -1 -2  2
3 -2 -2 9 -4 -2
4 -3 0 -6  2 -4
5  7 1 -1 -3 -1
6 -5 0  3  6 -2
7 -1 1 -1  2  3
8 -2 -1 -3 -8 -3
9  0  1  3  3  3
10 0 -5  1  2  5
11 0 0  -2  2 -6
12 0 8  -3 -3 -1
13 6 -7  7  3  8
14 0  6  -5  2 -7
15 -1 -4  7 -8 -2
16 -5  3 -6   5 4
17 2  -5  3 -3 -3
18 1  5  -4   4 0
19 0  1  2  -4  0
20 1 -4  1   3  7

更新于: 2020-09-08

148 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告