r-复制矩阵,但将非NA值替换为TRUE,将NA替换为FALSE

  • 本文关键字:NA 替换 复制 TRUE FALSE r matrix
  • 更新时间 :
  • 英文 :


如何从获得

test <- matrix(c("eb2","ebrees",NA,NA,
"ebrees","es2",NA,NA,
NA, NA, NA, NA,
NA, NA, NA, NA), ncol = 4, byrow = T)
[,1]     [,2]     [,3] [,4]
[1,] "eb2"    "ebrees" NA   NA
[2,] "ebrees" "es2"    NA   NA
[3,] NA       NA       NA   NA
[4,] NA       NA       NA   NA

至:

[,1] [,2] [,3] [,4]
[1,]   T    T    F   F
[2,]   T    T    F   F
[3,]   F    F    F   F
[4,]   F    F    F   F

以下是我的进展:

哪个(!是.na(测试(,arr.ind=TRUE(

row col
[1,]   1   1
[2,]   2   1
[3,]   1   2
[4,]   2   2

这给了我所需要的数字版本。

第二次尝试是将矩阵视为df,但返回的是char而不是逻辑,看起来我很接近,但不知道如何获取逻辑值。

test[!is.na(test)] = T
test[is.na(test)] = F
test1 <- (!is.na(test))

输出

> test1
[,1]  [,2]  [,3]  [,4]
[1,]  TRUE  TRUE FALSE FALSE
[2,]  TRUE  TRUE FALSE FALSE
[3,] FALSE FALSE FALSE FALSE
[4,] FALSE FALSE FALSE FALSE

最新更新