如何在 R 中按照行中位數劃分矩陣行?


要在 R 中按照行中位數劃分矩陣行值,我們可以按照以下步驟操作:

  • 首先,建立矩陣。
  • 然後,使用 apply 函式將矩陣行值除以行中位數。

建立矩陣

讓我們建立一個矩陣,如下所示:

 即時演示

M<-matrix(rpois(75,10),ncol=3)
M

執行後,上述指令碼將生成以下輸出(輸出在系統上會有所不同,因為存在隨機化):

      [,1] [,2] [,3]
[1,]  11    6    7
[2,]  8    14    6
[3,]  12   11    6
[4,]  11   11   14
[5,]  9    12    9
[6,]  10   8    14
[7,]  7    13    8
[8,]  15   12   13
[9,]  6    18    6
[10,] 7    6     8
[11,] 9    11   11
[12,] 5    7    13
[13,] 15   10   10
[14,] 10   12    6
[15,] 10   14   10
[16,] 11   12    5
[17,] 15   11    11
[18,] 9    8    8
[19,] 14   6    16
[20,] 6    9    6
[21,] 9    10   8
[22,] 11   13   12
[23,] 13   17   8
[24,] 12   11   16
[25,] 11   11   3

將矩陣行值除以行中位數

使用 apply 函式將 M 的行值除以行中位數:

 即時演示

M<-matrix(rpois(75,10),ncol=3)
M_new<-t(apply(M,1, function(x) x/median(x)))
M_new

輸出

         [,1]       [,2]    [,3]
[1,] 1.5714286 0.8571429 1.0000000
[2,] 1.0000000 1.7500000 0.7500000
[3,] 1.0909091 1.0000000 0.5454545
[4,] 1.0000000 1.0000000 1.2727273
[5,] 1.0000000 1.3333333 1.0000000
[6,] 1.0000000 0.8000000 1.4000000
[7,] 0.8750000 1.6250000 1.0000000
[8,] 1.1538462 0.9230769 1.0000000
[9,] 1.0000000 3.0000000 1.0000000
[10,] 1.0000000 0.8571429 1.1428571
[11,] 0.8181818 1.0000000 1.0000000
[12,] 0.7142857 1.0000000 1.8571429
[13,] 1.5000000 1.0000000 1.0000000
[14,] 1.0000000 1.2000000 0.6000000
[15,] 1.0000000 1.4000000 1.0000000
[16,] 1.0000000 1.0909091 0.4545455
[17,] 1.3636364 1.0000000 1.0000000
[18,] 1.1250000 1.0000000 1.0000000
[19,] 1.0000000 0.4285714 1.1428571
[20,] 1.0000000 1.5000000 1.0000000
[21,] 1.0000000 1.1111111 0.8888889
[22,] 0.9166667 1.0833333 1.0000000
[23,] 1.0000000 1.3076923 0.6153846
[24,] 1.0000000 0.9166667 1.3333333
[25,] 1.0000000 1.0000000 0.2727273

更新於: 14-8-2021

106 次瀏覽

開啟你的職業

完成課程,獲得認證資格

入門
廣告