如何从R中的另一个减去一个数据帧?

如果我们有两个数据框,它们的列数相同,数据类型相同,行数相等,那么我们可能想找出数据框的相应值之间的差。为此,我们只需要使用减号即可。例如,如果我们有数据帧df1和df2,则减法可以找到df1-df2。

请看以下数据帧-

示例

x1<-rpois(20,5)
x2<-rpois(20,8)
df1<-data.frame(x1,x2)
df1

输出

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

示例

y1<-sample(0:10,20,replace=TRUE)
y2<-sample(0:10,20,replace=TRUE)
df2<-data.frame(y1,y2)
df2

输出

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

从df1减去df2-

示例

df1-df2

输出

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

让我们看另一个例子-

从df1减去df2-

示例

V1<-rpois(20,1)
V2<-rpois(20,10)
V3<-rpois(20,12)
df_V<-data.frame(V1,V2,V3)
df_V

输出

V1 V2 V3
1 0 6 13
2 3 9 13
3 1 9 14
4 3 12 10
5 1 11 4
6 1 5 11
7 1 5 17
8 1 9 7
9 2 14 13
10 1 4 16
11 0 8 9
12 1 6 9
13 3 12 3
14 1 11 18
15 1 5 13
16 0 13 12
17 1 11 12
18 1 9 6
19 0 10 12
20 0 10 13

示例

W1<-sample(0:5,20,replace=TRUE)
W2<-sample(0:10,20,replace=TRUE)
W3<-sample(0:15,20,replace=TRUE)
df_W<-data.frame(W1,W2,W3)
df_W

输出

W1 W2 W3
1 0 8 14
2 3 2 5
3 3 2 10
4 0 1 9
5 1 9 8
6 1 5 12
7 3 2 13
8 1 9 7
9 0 5 2
10 1 9 12
11 3 1 0
12 4 10 0
13 4 2 0
14 4 4 13
15 5 3 15
16 2 6 0
17 4 1 14
18 0 7 10
19 1 4 15
20 2 0 15

从df_V减去df_W-

示例

df_V-df_W

输出

V1 V2 V3
1 -5 5 12
2 -3 12 7
3 0 10 7
4 -1 9 14
5 -2 6 17
6 2 -2 4
7 0 7 5
8 0 2 -1
9 -1 6 -4
10 -2 5 -4
11 -3 0 7
12 -2 11 -4
13 -3 2 -1
14 0 3 - 3
15 -1 7 2
16 2 2 9
17 -3 6 2
18 -2 -2 -1
19 2 6 14
20 -3 10 4