【问题标题】:Function for permutation of different size vectors in RR中不同大小向量的置换函数
【发布时间】:2020-03-26 14:23:11
【问题描述】:

我想创建一个,它为不同大小的向量创建所有可能的s 元素-1,0,1

例如对于大小为 2 的向量,我将拥有 3^2 vectors。这很容易写如下,但如果我想为大小为 6 的向量做,我必须写 729。

x1 = c(1,1)
x2= c(1,0)
x3 = c(1,-1)
x4 = c(0,0)
x5 = c(0,1)
x6 = c(0,-1)
x7= c(-1,1)
x8 = c(-1,0)
x9 = c(-1,-1)

对于大小为 3 的向量...

(1,1,1)
(1,1,0)
(1,1,-1)
(1,0,0)..... etc

有什么想法可以让这更简单吗?谢谢。

【问题讨论】:

    标签: function permutation r function combinations permutation


    【解决方案1】:

    这是expand.grid 的一种方法。

    expand.grid(c(-1:1),c(-1:1),c(-1:1))
    

    或者对于任意长度的向量。

    expand.grid(rep(list(c(-1:1)),4))
       Var1 Var2 Var3 Var4
    1    -1   -1   -1   -1
    2     0   -1   -1   -1
    3     1   -1   -1   -1
    4    -1    0   -1   -1
    5     0    0   -1   -1
    6     1    0   -1   -1
    7    -1    1   -1   -1
    8     0    1   -1   -1
    9     1    1   -1   -1
    10   -1   -1    0   -1
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-28
      • 1970-01-01
      • 1970-01-01
      • 2021-05-29
      • 2019-08-23
      • 1970-01-01
      • 2016-06-06
      • 2016-03-13
      相关资源
      最近更新 更多