计算矩阵的 NA 字符

Counting NA characters of a matrix

我有以下矩阵:

  V1  V2  V3   V4  
[1,] "d" "e" "i"  "NA"
[2,] "j" "e" "i"  "NA"
[3,] "j" "n" "k"  "l" 
[4,] "j" "k" "l"  "m" 
[5,] "j" "k" "i"  "NA"
[6,] "o" "n" "NA" "NA"

我正在尝试计算每行不是 NA 的元素数量,但是 !is.na(MATRIX) 等所有常用方法都不起作用。我得到的答案总是 4。我认为这是因为程序正在将 "NA" 视为一个角色,但我不知道如何解决这个问题。

'NA' 不是 NA_character_ 所以 is.na 不起作用。只需使用

rowSums(MATRIX != 'NA') 

如果NA是字符串,用mat[mat=="NA"] <- NA转换成真正的NA,然后使用Sotos评论中的解决方案