在R語言中,如果單個值的條件滿足,則獲取矩陣作為輸出。


如果我們想檢查一個條件,並且基於該條件的輸出需要是一個矩陣,那麼我們可以在R語言中使用if else函式。

例如,如果我們有一個值,例如V = 5,並且如果V等於5,我們想要得到矩陣M1,如果V不等於5,我們想要得到矩陣M2,那麼我們可以使用以下命令:

if (V == 5) M1 else M2

示例

以下程式碼片段建立示例矩陣:

M1<-matrix(rpois(80,10),ncol=4)
M1

建立了以下矩陣:

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

要在R語言中根據單個值的條件獲取矩陣作為輸出,在上面建立的矩陣上,請將以下程式碼新增到上面的程式碼片段中:

M1<-matrix(rpois(80,10),ncol=4)
M2<-matrix(rpois(80,1),ncol=4)
M2

建立了以下矩陣:

    [,1] [,2] [,3] [,4]
[1,]  2    0    2   4
[2,]  0    1    1   2
[3,]  0    0    0   0
[4,]  0    3    1   1
[5,]  0    1    1   0
[6,]  0    1    2   1
[7,]  0    1    0   0
[8,]  2    0    2   1
[9,]  0    1    0   0
[10,] 0    2    1   1
[11,] 1    0    1   2
[12,] 0    1    0   1
[13,] 0    2    0   0
[14,] 1    0    2   0
[15,] 0    0    0   1
[16,] 1    1    1   0
[17,] 0    1    2   1
[18,] 1    0    1   1
[19,] 0    2    1   0
[20,] 2    2    1   2

要在上面建立的資料框中,根據Conditional_Value是否等於5來獲取矩陣作為輸出,請將以下程式碼新增到上面的程式碼片段中:

M1<-matrix(rpois(80,10),ncol=4)
M2<-matrix(rpois(80,1),ncol=4)
Conditional_Value<-2
if (Conditional_Value == 5) M1 else M2

建立了以下矩陣:

   [,1] [,2] [,3] [,4]
[1,]  2   0   2    4
[2,]  0   1   1    2
[3,]  0   0   0    0
[4,]  0   3   1    1
[5,]  0   1   1    0
[6,]  0   1   2    1
[7,]  0   1   0    0
[8,]  2   0   2    1
[9,]  0   1   0    0
[10,] 0   2   1    1
[11,] 1   0   1    2
[12,] 0   1   0    1
[13,] 0   2   0    0
[14,] 1   0   2    0
[15,] 0   0   0    1
[16,] 1   1   1    0
[17,] 0   1   2    1
[18,] 1   0   1    1
[19,] 0   2   1    0
[20,] 2   2   1    2

更新於:2021年11月3日

214 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.