R:n列的矩阵,每个组合2个项目

时间:2014-02-07 04:18:42

标签: r matrix combinations

我想要一个矩阵,即n列长。

n <- 3

我想要的组合是1和-1

c <- c(1,-1)

将行数设为:

r <- 2^n

所以你可以用这些dims制作一个0的矩阵:

mm <- matrix(0, r, n)

现在, 如何用1s和-1s填充它。每一个组合。 如果n = 2,我们应该得到:

{(1,1),(1,-1),(-1,1),( - 1,-1)}

等等。

实现这一目标的最佳途径是什么?

1 个答案:

答案 0 :(得分:1)

n <- 2
x <- c(-1, 1)
expand.grid(rep(list(x), n))

##    Var1 Var2
## 1   -1   -1
## 2    1   -1
## 3   -1    1
## 4    1    1

n <- 3
expand.grid(rep(list(x), n))

##   Var1 Var2 Var3
## 1   -1   -1   -1
## 2    1   -1   -1
## 3   -1    1   -1
## 4    1    1   -1
## 5   -1   -1    1
## 6    1   -1    1
## 7   -1    1    1
## 8    1    1    1