如何用R矩阵中的NA替换0?
要将 R 矩阵中的 0 替换为 NA,我们可以使用单个方括号进行子集化,然后将零设置为 NA。
例如,如果我们有一个名为 M 的矩阵,其中包含一些零,那么我们可以使用下面提到的命令将 0 替换为 NA -
M[M==0]<-NA
示例 1
考虑下面给出的矩阵 -
M1<-matrix(rpois(80,1),ncol=4)M1
创建了以下数据框
[,1] [,2] [,3] [,4][1,] 0 0 0 1
[2,] 1 0 3 2
[3,] 2 1 0 1
[4,] 1 0 2 0
[5,] 0 2 0 5
[6,] 0 1 1 0
[7,] 0 1 1 2
[8,] 2 1 0 0
[9,] 4 0 1 1
[10,] 0 1 0 1
[11,] 0 1 1 4
[12,] 1 0 1 1
[13,] 2 0 3 2
[14,] 2 1 0 2
[15,] 4 1 0 4
[16,] 2 1 1 2
[17,] 1 3 2 2
[18,] 0 1 1 3
[19,] 1 1 2 1
[20,] 1 3 3 2
要将上面创建的数据框中的 M1 中的 0 替换为 NA,请将以下代码添加到上面的代码段中 -
M1<-matrix(rpois(80,1),ncol=4)输出结果M1[M1==0]<-NA
M1
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -
[,1] [,2] [,3] [,4][1,] NA NA NA 1
[2,] 1 NA 3 2
[3,] 2 1 NA 1
[4,] 1 NA 2 NA
[5,] NA 2 NA 5
[6,] NA 1 1 NA
[7,] NA 1 1 2
[8,] 2 1 NA NA
[9,] 4 NA 1 1
[10,] NA 1 NA 1
[11,] NA 1 1 4
[12,] 1 NA 1 1
[13,] 2 NA 3 2
[14,] 2 1 NA 2
[15,] 4 1 NA 4
[16,] 2 1 1 2
[17,] 1 3 2 2
[18,] NA 1 1 3
[19,] 1 1 2 1
[20,] 1 3 3 2
示例 2
考虑下面给出的矩阵 -
M2<-matrix(round(rnorm(60),0),ncol=3)M2
创建了以下数据框
[,1] [,2] [,3][1,] 1 0 1
[2,] -1 0 -1
[3,] -2 -1 1
[4,] -1 -1 0
[5,] -1 1 1
[6,] -2 0 0
[7,] -1 0 0
[8,] 0 0 0
[9,] 1 0 0
[10,] 0 0 -1
[11,] 0 1 -1
[12,] -1 -1 -2
[13,] -1 0 -1
[14,] -1 -1 1
[15,] 0 -1 0
[16,] 1 0 2
[17,] 0 1 1
[18,] 0 0 0
[19,] 0 1 1
[20,] -2 -1 -1
要将上面创建的数据框中的 M2 中的 0 替换为 NA,请将以下代码添加到上面的代码段中 -
M2<-matrix(round(rnorm(60),0),ncol=3)输出结果M2[M2==0]<-NA
M2
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -
[,1] [,2] [,3][1,] 1 NA 1
[2,] -1 NA -1
[3,] -2 -1 1
[4,] -1 -1 NA
[5,] -1 1 1
[6,] -2 NA NA
[7,] -1 NA NA
[8,] NA NA NA
[9,] 1 NA NA
[10,] NA NA -1
[11,] NA 1 -1
[12,] -1 -1 -2
[13,] -1 NA -1
[14,] -1 -1 1
[15,] NA -1 NA
[16,] 1 NA 2
[17,] NA 1 1
[18,] NA NA NA
[19,] NA 1 1
[20,] -2 -1 -1
以上是 如何用R矩阵中的NA替换0? 的全部内容, 来源链接: utcz.com/z/357394.html