本文介绍了R:所有可能的唯一结果的二进制矩阵的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何生成所有可能的二进制矩阵'i' 变量 X 的排列,其中i"可以是任何介于 1 和无限之间的数字.结果矩阵将有 2^i 个唯一行.

How to generate a binary matrix for all possiblepermutations of 'i' variables X, where " i " can be anynumber between 1 and infinite. Resultant matrix will have 2^ i unique rows.

对于 i=2 ,变量 x1, x2 每个都有可能的值 1 或 0,所以得到的矩阵是:

For i=2 , variables x1, x2 each with a possible value of 1 or 0,so the resultant matrix would be:

X1 X2
0 0
0 1
1 0
1 1

R中有什么函数可以生成吗?

Is there any function in R to generate ?

我尝试了以下功能:

   matrix(rbinom(160, 1, 0.5),ncol=5,nrow=(2^5))

但结果并未显示所有可能的值.

But the result does not show all possible values.

推荐答案

你可以使用expand.grid:

 expand.grid(c(0,1),c(0,1))
  Var1 Var2
1    0    0
2    1    0
3    0    1
4    1    1

更一般地,以 5 列为例,给出 m:

More generally, with 5 columns for example, giving m:

m <- as.data.frame(matrix(rbinom(5*2, 1, 0.5),ncol=5))
 V1 V2 V3 V4 V5
1  0  1  1  0  0
2  0  1  1  0  0

dim(expand.grid(m))
32 5

这篇关于R:所有可能的唯一结果的二进制矩阵的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-01 09:38