如何在 R 中将每一列除以特定列?


要将每一列除以特定列,我们可以使用除号(/)。例如,如果我们有一个名为 df 的数据框,其中包含三列,分别是 x、y 和 z,那么我们可以使用命令 df/df[,3] 将所有列除以列 z。

示例

考虑以下数据框 -

 动态演示

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

输出

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

按列 x3 除以 df1 的所有列 -

示例

df1/df1[,3]

输出

     x1         x2       x3
1  1.4000000  1.4000000  1
2  1.4000000  1.2000000  1
3  1.0000000  0.4285714  1
4  0.4000000  0.8000000  1
5  3.0000000  8.0000000  1
6  1.0000000  1.5000000  1
7  1.0000000  1.2500000  1
8  0.3750000  0.5000000  1
9  1.5000000  1.7500000  1
10 0.7142857  1.1428571  1
11 1.6666667  2.0000000  1
12 1.5000000  1.5000000  1
13 1.2000000  0.4000000  1
14 3.0000000  2.0000000  1
15 2.0000000  1.0000000  1
16 1.0000000  0.8571429  1
17 1.0000000  1.6000000  1
18 1.3333333  1.3333333  1
19 0.0000000  0.5000000  1
20 1.0000000  0.8333333  1

示例

 动态演示

y1<-rpois(20,10)
y2<-rpois(20,10)
y3<-rpois(20,10)
df2<-data.frame(y1,y2,y3)
df2

输出

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

按列 y3 除以 df2 的所有列 -

示例

df2/df2[,3]

输出

     y1         y2       y3
1  0.4444444  0.7777778  1
2  1.2222222  0.7777778  1
3  1.0909091  1.1818182  1
4  1.0666667  0.4000000  1
5  0.7272727  1.4545455  1
6  2.5000000  1.7500000  1
7  1.3333333  2.0000000  1
8  1.1818182  0.6363636  1
9  1.1000000  1.4000000  1
10 0.8888889  1.3333333  1
11 0.9285714  1.0714286  1
12 2.6000000  2.6000000  1
13 1.2222222  0.7777778  1
14 2.0000000  2.4000000  1
15 0.6923077  0.7692308  1
16 0.7500000  0.8333333  1
17 1.1428571  1.1428571  1
18 1.2222222  1.0000000  1
19 0.8181818  0.7272727  1
20 0.6666667  1.0833333  1

更新于: 16-Mar-2021

13K+ 人次浏览

启动你的 职业生涯

完成课程,获得证书

开始
广告