将R中矩阵的全零变换为NA

时间:2013-01-06 01:25:33

标签: r matrix

  

可能重复:
  Replace all 0 values to NA in R

离开这个question。 R中是否有类似的函数,例如x[is.na(x)] <- 0,除了它会将矩阵中的每个零都更改为NA?

1 个答案:

答案 0 :(得分:9)

你可以这样做:

x[x == 0] <- NA

例如:

x = matrix(rep(0:1, 50), nrow=10)
x[x == 0] <- NA
print(x)
#      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
# [1,]   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA
# [2,]    1    1    1    1    1    1    1    1    1     1
# [3,]   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA
# [4,]    1    1    1    1    1    1    1    1    1     1
# [5,]   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA
# [6,]    1    1    1    1    1    1    1    1    1     1
# [7,]   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA
# [8,]    1    1    1    1    1    1    1    1    1     1
# [9,]   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA
#[10,]    1    1    1    1    1    1    1    1    1     1