对于给定的阈值,将表转换为0和1

psi*_*siu 2 r transform

我有一个表(t1)如下:

t1 <- array(1:20, dim=c(10,10))

      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
 [1,]    1   11    1   11    1   11    1   11    1    11
 [2,]    2   12    2   12    2   12    2   12    2    12
 [3,]    3   13    3   13    3   13    3   13    3    13
 [4,]    4   14    4   14    4   14    4   14    4    14
 [5,]    5   15    5   15    5   15    5   15    5    15
 [6,]    6   16    6   16    6   16    6   16    6    16
 [7,]    7   17    7   17    7   17    7   17    7    17
 [8,]    8   18    8   18    8   18    8   18    8    18
 [9,]    9   19    9   19    9   19    9   19    9    19
[10,]   10   20   10   20   10   20   10   20   10    20
Run Code Online (Sandbox Code Playgroud)

我想将此表转换为1或0.如果单元格数> 5,我们给它1,如果单元格数<5或= 5,我们给它一个0.因此在转换后,表t1将成为以下:

      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
 [1,]    0   1    0   1    0    1    0    1    0    1
 [2,]    0   1    0   1    0    1    0    1    0    1
 [3,]    0   1    0   1    0    1    0    1    0    1
 [4,]    0   1    0   1    0    1    0    1    0    1
 [5,]    0   1    0   1    0    1    0    1    0    1
 [6,]    1   1    1   1    1    1    1    1    1    1
 [7,]    1   1    1   1    1    1    1    1    1    1
 [8,]    1   1    1   1    1    1    1    1    1    1
 [9,]    1   1    1   1    1    1    1    1    1    1
[10,]    1   1    1   1    1    1    1    1    1    1
Run Code Online (Sandbox Code Playgroud)

我应该使用哪些命令?

A5C*_*2T1 5

你可以使用一个ifelse()声明:

ifelse(t1 > 5, 1, 0)
Run Code Online (Sandbox Code Playgroud)

由于类似的语句t1 > 5将导致矩阵的TRUEFALSE,并且由于R视为TRUE" 1"和FALSE" 0",对于此特定转换,您还可以执行以下操作:

(t1 > 5)+0
      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
 [1,]    0    1    0    1    0    1    0    1    0     1
 [2,]    0    1    0    1    0    1    0    1    0     1
 [3,]    0    1    0    1    0    1    0    1    0     1
 [4,]    0    1    0    1    0    1    0    1    0     1
 [5,]    0    1    0    1    0    1    0    1    0     1
 [6,]    1    1    1    1    1    1    1    1    1     1
 [7,]    1    1    1    1    1    1    1    1    1     1
 [8,]    1    1    1    1    1    1    1    1    1     1
 [9,]    1    1    1    1    1    1    1    1    1     1
[10,]    1    1    1    1    1    1    1    1    1     1
Run Code Online (Sandbox Code Playgroud)