Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R根据n个元素的字符向量生成大小为m的所有可能组合_R_Combinations - Fatal编程技术网

R根据n个元素的字符向量生成大小为m的所有可能组合

R根据n个元素的字符向量生成大小为m的所有可能组合,r,combinations,R,Combinations,所以,我有这个载体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来自gtools的置换设计就是为了做到这一点: x <- c("T", "A", "C", "

所以,我有这个载体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
来自
gtools
的置换设计就是为了做到这一点:

x <- c("T", "A", "C", "G")

do.call(expand.grid, rep(list(x), 3))
library(gtools)

data <-  c("T", "A", "C", "G")

permutations(4, 3, data, repeats.allowed = TRUE)
##       [,1] [,2] [,3]
##  [1,] "A"  "A"  "A" 
##  [2,] "A"  "A"  "C" 
##  [3,] "A"  "A"  "G" 
##  [4,] "A"  "A"  "T" 
##  [5,] "A"  "C"  "A" 
##  [6,] "A"  "C"  "C" 
##  [7,] "A"  "C"  "G" 
##  [8,] "A"  "C"  "T" 
##  [9,] "A"  "G"  "A" 
## [10,] "A"  "G"  "C" 
## [11,] "A"  "G"  "G" 
## [12,] "A"  "G"  "T" 
## [13,] "A"  "T"  "A" 
## [14,] "A"  "T"  "C" 
## [15,] "A"  "T"  "G" 
## [16,] "A"  "T"  "T" 
## [17,] "C"  "A"  "A" 
## [18,] "C"  "A"  "C" 
## [19,] "C"  "A"  "G" 
## [20,] "C"  "A"  "T" 
…
库(gtools)

数据只是一个小提示:StackOverflow通常缩写为SO,而不是SOF。您的答案中是否真的需要包含所有64个组合?是否有更直观的表示法?;-)