复制矩阵,但将非 NA 值替换为 TRUE,将 NA 替换为 FALSE
Copy matrix, but substituting non NA values to TRUE, and NAs to FALSE
我如何从
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
这是我得到的结果:
哪个(!is.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
我如何从
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
这是我得到的结果:
哪个(!is.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