【发布时间】:2017-03-24 10:07:32
【问题描述】:
我想通过替换具有多种可能性的字符来生成包含所有组合列表的数据框的新列,例如:
我有一个使用此代码生成的表:
x <- expand.grid(rep(list(c('a', 'g', 't', 'c', 'n')), 3))
xx <- data.frame(do.call(paste0, x))
tabcomb <- droplevels(xx[grep('n',xx[,1]),,drop=TRUE])
data.frame(tabcomb)
它给了我一个 61 行的表格,这里是前 10 行:
> head(tabcomb,10)
tabcomb
1 naa
2 nga
3 nta
4 nca
5 ana
6 gna
7 tna
8 cna
9 nna
10 nag
字母n 可以是('a', 'c', 't' or 'g') 中的任何一个。我想生成第二列,其中包含通过替换 n 字母得到的所有组合的列表,以获得具有这种格式的表:
tabcomb all
1 naa aaa caa taa gaa
2 nga aga cga tga gga
3 nta ata cta tta gta
4 nca aca cca tca gca
5 ana aaa aca ata aga
6 gna gaa ...
7 tna taa ....
8 cna ........
9 nna aaa taa gaa caa aaa aca aga ata .....
10 nag .......
11 nnn ...............................
附:第二列组合之间的空格是不必要的(我把它放在示例中进行说明。
【问题讨论】:
标签: r combinations