如何在 R 中找到矩阵值的组合?
r programmingserver side programmingprogramming更新于 2025/4/9 9:07:17
要在 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