如何按行标准差划分 R 中的数据框行?

要将数据框行值除以 R 中的行标准差,我们可以按照以下步骤操作 -

  • 首先,创建一个数据框。

  • 然后,使用应用函数将数据框行值除以行标准差。

创建数据框

例子

让我们创建一个数据框,如下所示 -

> x<-round(rnorm(25),2)
> y<-round(rnorm(25),2)
> df<-data.frame(x,y)
> df

执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-

输出

      x     y
1   1.48  0.86
2  -0.14 -0.58
3  -0.25  1.22
4   0.18  0.25
5   0.50  0.68
6  -1.34 -0.21
7   0.43 -0.54
8   0.32 -1.00
9   0.09 -0.19
10  1.20 -1.23
11 -1.48  0.73
12 -0.67 -0.19
13 -1.54  0.09
14  0.51  0.16
15 -1.38  0.05
16 -0.33  1.69
17  0.96  0.95
18 -0.70 -1.56
19 -0.53  0.42
20  0.01  0.77
21 -0.99 -1.76
22 -0.06 -0.34
23 -0.91  0.80
24 -1.01 -1.36
25  1.45 -0.35

将数据框行值除以行标准差

例子

使用 apply 函数将 df 的行值除以行标准差 -

使用 col Means 函数查找列均值 -

> x<-round(rnorm(25),2)
> y<-round(rnorm(25),2)
> df<-data.frame(x,y)
> df_new<-t(apply(df,1, function(x) x/sd(x)))
> df_new

输出

                 x            y
[1,]    3.37586463   1.96165107
[2,]   -0.44997704  -1.86419060
[3,]   -0.24051251   1.17370105
[4,]    3.63654916   5.05076272
[5,]    3.92837101   5.34258457
[6,]   -1.67703201  -0.26281845
[7,]    0.62691941  -0.78729415
[8,]    0.34283965  -1.07137391
[9,]    0.45456865  -0.95964492
[10,]   0.69837707  -0.71583649
[11,]  -0.94707515   0.46713842
[12,]  -1.97400643  -0.55979287
[13,]  -1.33612815   0.07808541
[14,]   2.06071119   0.64649763
[15,]  -1.36476554   0.04944803
[16,]  -0.23103489   1.18317867
[17,] 135.76450199 134.35028843
[18,]  -1.15110406  -2.56531762
[19,]  -0.78898230   0.62523126
[20,]   0.01860807   1.43282164
[21,]  -1.81827458  -3.23248814
[22,]  -0.30304576 - 1.71725933
[23,]  -0.75259318   0.66162038
[24,]  -4.08101628  -5.49522984
[25,]   1.13922759  -0.27498597