R根据n个元素的字符向量生成大小为m的所有可能组合
所以,我有这个载体c(“T”,“A”,“c”,“G”)用于基因组数据。我希望生成大小为3的所有可能组合,并重复如下操作: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", "
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个组合?是否有更直观的表示法?;-)