如何在 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
Advertisement