如何在R中找到矩阵值的组合?
要在R中找到矩阵值的组合,我们可以使用expand.grid带有拆分函数的函数。
例如,如果我们有一个名为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