如何在 R 中查詢矩陣值的組合?


為了在 R 中查詢矩陣值的組合,我們可以使用 expand.grid 函式與 split 函式。

例如,如果我們有一個名為 M 的矩陣,那麼要建立矩陣值的組合,我們可以使用下面提到的程式碼 -

do.call(expand.grid,split(M,rep(1:nrow(M),ncol(M))))

檢視下面給出的示例以瞭解其工作原理。

示例 1

以下程式碼段建立了一個矩陣 -

M1<-matrix(rpois(10,2),ncol=5)
M1

輸出

建立了以下矩陣 -

    [,1] [,2] [,3] [,4] [,5]
[1,]  1   1    3    3    3
[2,]  1   3    2    1    1

為了在 R 中查詢矩陣值的組合,請將以下程式碼新增到上面的程式碼段中 -

M1<-matrix(rpois(10,2),ncol=5)
do.call(expand.grid,split(M1,rep(1:nrow(M1),ncol(M1))))

輸出

如果您將以上所有程式碼段作為單個程式執行,它將生成以下輸出 -

   1  2
1  1  1
2  1  1
3  3  1
4  3  1
5  3  1
6  1  3
7  1  3
8  3  3
9  3  3
10 3  3
11 1  2
12 1  2
13 3  2
14 3  2
15 3  2
16 1  1
17 1  1
18 3  1
19 3  1
20 3  1
21 1  1
22 1  1
23 3  1
24 3  1
25 3  1

示例 2

以下程式碼段建立了一個矩陣 -

M2<-matrix(rpois(9,2),ncol=3)
M2

輸出

建立了以下矩陣 -

    [,1][,2] [,3]
[1,] 3   1    3
[2,] 0   2    1
[3,] 5   1    0

為了在 R 中查詢矩陣值的組合,請將以下程式碼新增到上面的程式碼段中 -

M2<-matrix(rpois(9,2),ncol=3)
do.call(expand.grid,split(M2,rep(1:nrow(M2),ncol(M2))))

輸出

如果您將以上所有程式碼段作為單個程式執行,它將生成以下輸出 -

   1  2  3
1  3  0  5
2  1  0  5
3  3  0  5
4  3  2  5
5  1  2  5
6  3  2  5
7  3  1  5
8  1  1  5
9  3  1  5
10 3  0  1
11 1  0  1
12 3  0  1
13 3  2  1
14 1  2  1
15 3  2  1
16 3  1  1
17 1  1  1
18 3  1  1
19 3  0  0
20 1  0  0
21 3  0  0
22 3  2  0
23 1  2  0
24 3  2  0
25 3  1  0
26 1  1  0
27 3  1  0

更新於: 2021年11月5日

455 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.