如何在 R 中按行中值分割数据框的行值?
要在 R 中按行中值分割数据框的行值,我们可以按照以下步骤进行操作 -
- 首先,创建一个数据框。
- 然后,使用 apply 函数按行中值分割数据框的行值。
创建数据框
让我们创建一个如下所示的数据框 -
x<-sample(1:100,25) y<-sample(1:100,25) z<-sample(1:100,25) df<-data.frame(x,y,z) df
执行后,上述脚本将生成以下输出(由于随机化,您的系统上的此输出将有所不同) -
x y z 1 8 88 9 2 27 82 20 3 65 63 22 4 89 92 71 5 77 29 35 6 67 76 79 7 100 60 99 8 73 90 21 9 68 85 3 10 50 91 1 11 39 86 2 12 83 84 45 13 20 2 77 14 86 80 8 15 45 72 46 16 14 47 60 17 34 62 49 18 94 44 93 19 42 89 25 20 55 25 4 21 66 97 32 22 85 37 92 23 28 100 19 24 59 51 53 25 93 81 84
按行中值分割数据框的行值
使用 apply 函数按行中值分割 df 的行值 -
x<-sample(1:100,25) y<-sample(1:100,25) z<-sample(1:100,25) df<-data.frame(x,y,z) df_new<-t(apply(df,1, function(x) x/median(x))) df_new
输出
x y z [1,] 0.8888889 9.7777778 1.00000000 [2,] 1.0000000 3.0370370 0.74074074 [3,] 1.0317460 1.0000000 0.34920635 [4,] 1.0000000 1.0337079 0.79775281 [5,] 2.2000000 0.8285714 1.00000000 [6,] 0.8815789 1.0000000 1.03947368 [7,] 1.0101010 0.6060606 1.00000000 [8,] 1.0000000 1.2328767 0.28767123 [9,] 1.0000000 1.2500000 0.04411765 [10,] 1.0000000 1.8200000 0.02000000 [11,] 1.0000000 2.2051282 0.05128205 [12,] 1.0000000 1.0120482 0.54216867 [13,] 1.0000000 0.1000000 3.85000000 [14,] 1.0750000 1.0000000 0.10000000 [15,] 0.9782609 1.5652174 1.00000000 [16,] 0.2978723 1.0000000 1.27659574 [17,] 0.6938776 1.2653061 1.00000000 [18,] 1.0107527 0.4731183 1.00000000 [19,] 1.0000000 2.1190476 0.59523810 [20,] 2.2000000 1.0000000 0.16000000 [21,] 1.0000000 1.4696970 0.48484848 [22,] 1.0000000 0.4352941 1.08235294 [23,] 1.0000000 3.5714286 0.67857143 [24,] 1.1132075 0.9622642 1.00000000 [25,] 1.1071429 0.9642857 1.00000000
广告