【发布时间】:2014-05-30 13:55:07
【问题描述】:
我有两个大小相同的不同矩阵,一个有NA值,一个没有,比如:
mat=matrix(rnorm(9, mean=20, sd=10), nrow=3)
mat2=matrix(rnorm(9, mean=20, sd=10), nrow=3)
mat2[mat2<20]=NA
mat
[,1] [,2] [,3]
[1,] 21.67730 17.978427 17.24766
[2,] 14.71108 16.970846 30.29543
[3,] 28.65521 9.191494 18.83665
mat2
[,1] [,2] [,3]
[1,] 28.6093 NA 32.26887
[2,] NA NA NA
[3,] NA 20.19428 30.25038
我可以使用以下方法识别mat2 中 NA 值的坐标(行/列):
which(is.na(mat2), TRUE)
然后如何使用这些坐标将mat 中的相同值替换为NA?生产:
mat
[,1] [,2] [,3]
[1,] 21.67730 NA 17.24766
[2,] NA NA NA
[3,] NA 9.191494 18.83665
这是最好的方法吗?提前致谢。
【问题讨论】: