如何在R中使用if else替换矩阵值?

要在 R 中使用 ifelse 替换矩阵值,我们可以按照以下步骤操作 -

  • 首先,创建一个矩阵。

  • 然后,使用 ifelse 函数替换矩阵中的值。

创建矩阵

让我们创建一个矩阵,如下所示 -

例子

M<-matrix(rpois(80,2),ncol=4)
M

执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-

输出

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

使用 ifelse 替换矩阵中的值

使用 ifelse 函数将矩阵 M 中的 3 替换为 1 -

例子

M<-matrix(rpois(80,2),ncol=4)
ifelse(M==3,1,M)

输出

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