所以,我有这个向量 c("T", "A", "C", "G") 用于基因组数据。我想生成大小为 3 的所有可能组合,重复如下:
T T T
T T A
T T C
T T G
T A T
..
那会给我 4^3=64 个组合。大小 4 的组合将给出 4^4,而大小 5 的组合应给出 4^5=1024 行。
我搜索了 SOF,并认为 expand.grid() 会这样做,但我不知道如何使用它来获得所需的输出。任何的想法?
x <- c("T", "A", "C", "G")
do.call(expand.grid, rep(list(x), 3))
permutationsfromgtools的目的就是为了做到这一点:
library(gtools)\n\ndata <-  c("T", "A", "C", "G")\n\npermutations(4, 3, data, repeats.allowed = TRUE)\n##       [,1] [,2] [,3]\n##  [1,] "A"  "A"  "A" \n##  [2,] "A"  "A"  "C" \n##  [3,] "A"  "A"  "G" \n##  [4,] "A"  "A"  "T" \n##  [5,] "A"  "C"  "A" \n##  [6,] "A"  "C"  "C" \n##  [7,] "A"  "C"  "G" \n##  [8,] "A"  "C"  "T" \n##  [9,] "A"  "G"  "A" \n## [10,] "A"  "G"  "C" \n## [11,] "A"  "G"  "G" \n## [12,] "A"  "G"  "T" \n## [13,] "A"  "T"  "A" \n## [14,] "A"  "T"  "C" \n## [15,] "A"  "T"  "G" \n## [16,] "A"  "T"  "T" \n## [17,] "C"  "A"  "A" \n## [18,] "C"  "A"  "C" \n## [19,] "C"  "A"  "G" \n## [20,] "C"  "A"  "T" \n\xe2\x80\xa6\n