如何在 R 中將矩陣中閾值大於某個值的值轉換為 1?


為了將 R 資料幀中大於某個閾值的值轉換為 1,我們可以遵循以下步驟 −

  • 首先,建立一個矩陣。

  • 然後,使用 ifelse 函式將大於某個閾值的值轉換為 1。

示例

建立矩陣

我們建立的矩陣如下 −

M<-matrix(rnorm(50),ncol=2)
M

輸出

執行以上指令碼後,會生成以下輸出(由於隨機化,此輸出在您的系統上會有所不同) −

        [,1]         [,2]
[1,]   1.35131510  1.37522054
[2,]  -1.13345162  0.36286206
[3,]   0.63015182 -0.03290929
[4,]   0.92621651  1.31680036
[5,]  -0.82421679  0.32648195
[6,]   0.97343371 -1.07267437
[7,]   1.64987699 -0.78395936
[8,]  -1.26893096 -0.86729417
[9,]   1.43618275 -0.35711054
[10,]  0.47313589  1.33716595
[11,] -0.62682302 -0.11872530
[12,] -1.55459406  0.60669510
[13,]  0.71674609  0.38263617
[14,]  0.15818009  0.40835948
[15,] -0.63320156 -0.06941598
[16,] -0.18245803 -0.69972541
[17,] -0.83207399 -2.18994824
[18,] -0.50880490 -1.11029099
[19,]  0.09978232  0.84119858
[20,] -0.53728939 -0.42712942
[21,]  0.78737850  0.64063631
[22,] -0.54197740  1.52800265
[23,]  0.64130714  0.03383875
[24,]  0.54300424 -0.48200610
[25,] -0.91642041 -0.27952213

將大於某個閾值的值轉換為 1

使用 ifelse 函式將 matrix M 的第 1 列中大於某個閾值的值轉換成 1 −

M<-matrix(rnorm(50),ncol=2)
M[,1]<-ifelse(M[,1]>0.5,1,M[,1])
M

輸出

        [,1]         [,2]
[1,]   1.00000000  1.37522054
[2,]  -1.13345162  0.36286206
[3,]   1.00000000 -0.03290929
[4,]   1.00000000  1.31680036
[5,]  -0.82421679  0.32648195
[6,]   1.00000000 -1.07267437
[7,]   1.00000000 -0.78395936
[8,]  -1.26893096 -0.86729417
[9,]   1.00000000 -0.35711054
[10,]  0.47313589  1.33716595
[11,] -0.62682302 -0.11872530
[12,] -1.55459406  0.60669510
[13,]  1.00000000  0.38263617
[14,]  0.15818009  0.40835948
[15,] -0.63320156 -0.06941598
[16,] -0.18245803 -0.69972541
[17,] -0.83207399 -2.18994824
[18,] -0.50880490 -1.11029099
[19,]  0.09978232  0.84119858
[20,] -0.53728939 -0.42712942
[21,]  1.00000000  0.64063631
[22,] -0.54197740  1.52800265
[23,]  1.00000000  0.03383875
[24,]  1.00000000 -0.48200610
[25,] -0.91642041 -0.27952213

更新於: 11-Nov-2021

336 次瀏覽

職業生涯開啟新起點

完成課程認證

開始吧
廣告
© . All rights reserved.