如果我们有两个数据框,它们的列数相同,数据类型相同,行数相等,那么我们可能想找出数据框的相应值之间的差。为此,我们只需要使用减号即可。例如,如果我们有数据帧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