如何在 R 矩陣中將 0 替換為 NA?
為了將 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
廣告
資料結構
網路
關係型資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP