如何在 R 中按行标准差来划分数据帧行?


要在 R 中按行标准差划分数据帧行值,我们可以遵循以下步骤 −

  • 首先,创建一个数据帧。
  • 然后,应用 apply 函数按行标准差划分数据帧行值。

创建数据帧

让我们创建一个如下所示的数据帧 −

 演示

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

执行以上脚本会生成以下输出(此输出在您的系统上会因随机化而有所不同) −

      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

更新于: 2021 年 8 月 13 日

390 人浏览

开启您的 职业 生涯

完成课程,获得认证

开始
Advertisement