如何在R矩陣中查詢值的座標?
R矩陣中一個值的座標是指行和列的交點,也就是該值的行列索引。可以使用哪個函式來查詢?
例如,如果我們有一個名為M的矩陣,其中包含從1到20的值,那麼我們可以使用下面的命令查詢值5的座標:
which(M==5,arr.ind=TRUE)
示例
以下程式碼片段建立一個矩陣:
M1<-matrix(rpois(80,10),ncol=4) M1
建立的矩陣如下:
[,1][,2][,3][,4] [1,] 6 16 10 11 [2,] 10 4 15 10 [3,] 5 16 14 8 [4,] 8 11 14 13 [5,] 15 13 10 8 [6,] 10 11 6 13 [7,] 2 11 13 11 [8,] 6 16 15 10 [9,] 3 7 14 7 [10,] 8 4 10 11 [11,] 9 6 15 10 [12,] 14 12 11 10 [13,] 13 8 10 6 [14,] 7 13 11 4 [15,] 8 7 11 12 [16,] 12 13 9 12 [17,] 10 8 6 9 [18,] 3 11 8 9 [19,] 9 6 11 12 [20,] 10 18 12 9
要在M1中查詢值11的座標,請將以下程式碼新增到上面的程式碼片段中:
M1<-matrix(rpois(80,10),ncol=4) which(M1==11,arr.ind=TRUE)
輸出
如果您將上面給出的所有程式碼片段作為單個程式執行,它將生成以下輸出:
row col [1,] 4 2 [2,] 6 2 [3,] 7 2 [4,] 18 2 [5,] 12 3 [6,] 14 3 [7,] 15 3 [8,] 19 3 [9,] 1 4 [10,] 7 4 [11,] 10 4
示例2
以下程式碼片段建立一個矩陣:
M2<-matrix(rpois(80,2),ncol=4) M2
建立的矩陣如下:
[,1][,2][,3][,4] [1,] 2 0 1 2 [2,] 1 1 1 2 [3,] 1 3 0 1 [4,] 3 1 8 3 [5,] 1 6 1 2 [6,] 2 2 2 1 [7,] 3 3 0 1 [8,] 3 1 1 1 [9,] 4 2 3 3 [10,] 4 1 0 3 [11,] 3 3 3 1 [12,] 3 2 5 1 [13,] 4 4 4 3 [14,] 3 5 4 2 [15,] 2 0 3 2 [16,] 1 2 5 2 [17,] 1 1 3 3 [18,] 2 3 4 1 [19,] 3 3 2 2 [20,] 4 1 3 0
要在M2中查詢值4的座標,請將以下程式碼新增到上面的程式碼片段中:
M2<-matrix(rpois(80,2),ncol=4) which(M2==4,arr.ind=TRUE)
輸出
如果您將上面給出的所有程式碼片段作為單個程式執行,它將生成以下輸出:
row col [1,] 9 1 [2,] 10 1 [3,] 13 1 [4,] 20 1 [5,] 13 2 [6,] 13 3 [7,] 14 3 [8,] 18 3
示例3
以下程式碼片段建立一個矩陣:
M3<-matrix(rpois(40,5),ncol=2) M3
建立的矩陣如下:
[,1][,2] [1,] 7 6 [2,] 6 7 [3,] 4 3 [4,] 5 5 [5,] 6 7 [6,] 4 5 [7,] 4 6 [8,] 6 4 [9,] 6 4 [10,] 8 1 [11,] 8 5 [12,] 5 13 [13,] 1 1 [14,] 5 5 [15,] 4 8 [16,] 6 5 [17,] 6 7 [18,] 9 6 [19,] 5 6 [20,] 4 8
要在M3中查詢值8的座標,請將以下程式碼新增到上面的程式碼片段中:
M3<-matrix(rpois(40,5),ncol=2) which(M3==8,arr.ind=TRUE)
輸出
如果您將上面給出的所有程式碼片段作為單個程式執行,它將生成以下輸出:
row col [1,] 10 1 [2,] 11 1 [3,] 15 2 [4,] 20 2
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP