如何在R数据框中从列均值中减去列值?


要从R数据框中从列均值中减去列值,我们可以按照以下步骤操作:

  • 首先,创建一个数据框。
  • 然后,使用colMeans函数查找列均值。
  • 之后,从列均值中减去列值。

创建数据框

让我们创建一个如下所示的数据框:

 在线演示

> x1<-sample(1:100,20)
> x2<-sample(1:100,20)
> x3<-sample(1:100,20)
> df<-data.frame(x1,x2,x3)
> df

执行上述脚本后,将生成以下输出(由于随机化,此输出会在您的系统上有所不同):

   x1  x2  x3
1  54  73  57
2  79  52  92
3  87  51  47
4  13  12   1
5  70  90  19
6  15  99   9
7  56  81  22
8  75  68  82
9  63  11  67
10 40  50  71
11 45  42  94
12 32  80  50
13 80  83  33
14  6  27   5
15 91 100  36
16 52  60  46
17 76   9   6
18 19   2  64
19 18  97  27
20 67   8  83

查找列均值

使用colMeans函数查找列均值:

 在线演示

> x1<-sample(1:100,20)
> x2<-sample(1:100,20)
> x3<-sample(1:100,20)
> df<-data.frame(x1,x2,x3)
> colMeans(df)

输出

   x1    x2    x3
51.90 54.75 45.55

从列均值中减去列值

使用数据框和数据框的列均值从列均值中减去列值:

 在线演示

> x1<-sample(1:100,20)
> x2<-sample(1:100,20)
> x3<-sample(1:100,20)
> df<-data.frame(x1,x2,x3)
> df[]-colMeans(df[])[col(df[])]

输出

     x1      x2     x3
1    2.1  18.25  11.45
2   27.1  -2.75  46.45
3   35.1  -3.75   1.45
4  -38.9 -42.75 -44.55
5   18.1  35.25 -26.55
6  -36.9  44.25 -36.55
7    4.1  26.25 -23.55
8   23.1  13.25  36.45
9   11.1 -43.75  21.45
10 -11.9  -4.75  25.45
11  -6.9 -12.75  48.45
12 -19.9  25.25   4.45
13  28.1  28.25 -12.55
14 -45.9 -27.75 -40.55
15  39.1  45.25  -9.55
16   0.1   5.25   0.45
17  24.1 -45.75 -39.55
18 -32.9 -52.75  18.45
19 -33.9  42.25 -18.55
20  15.1 -46.75  37.45

更新于:2021年8月13日

2K+ 次浏览

启动您的职业生涯

通过完成课程获得认证

开始
广告