如何将列表中的元素(字符)连接到 R 中的单个元素中?
how to join elements (chars) from a list into a single element in R?
我正在尝试在 R 中创建一个简单的脚本来模拟环境对基因的压力,所以我有以下 ATCG 随机生成器:
list <- c("A","T","C","G")
samp <- sample(list, 1000, replace = T)
display <- function(a,b,c) {
result <- sample(list, 1000, replace = T)
return(result)
}
a <- display(a)
b <- display(b)
c <- display(c)
代码工作正常,但在概念上是错误的,因为密码子需要作为一组字符而不是单个字符连接。
所以我的问题是,如何加入这些元素 (1:4,5:8,...107:110) ?
我知道 R 中有很多关于遗传学的包,但我试图让它非常简单,只是作为我遗传学研究小组的练习。
提前致谢!
也许这就是您的想法:
dat <- setNames( data.frame(
replicate(3, replicate( 1000,
paste0(sample(c("A","C","T","G"),4, replace=T),collapse="") ) ) ),
c("a","b","c") )
结果
dat
a b c
1 CATG CTAG CGAT
2 AGCT GACT TGAC
3 TCAG TAGC TCAG
4 CGAT GACT GTAC
5 TCGA TAGC CTGA
...etc
您应该能够与 dat$a
、dat$b
和 dat$c
进行比较
我正在尝试在 R 中创建一个简单的脚本来模拟环境对基因的压力,所以我有以下 ATCG 随机生成器:
list <- c("A","T","C","G")
samp <- sample(list, 1000, replace = T)
display <- function(a,b,c) {
result <- sample(list, 1000, replace = T)
return(result)
}
a <- display(a)
b <- display(b)
c <- display(c)
代码工作正常,但在概念上是错误的,因为密码子需要作为一组字符而不是单个字符连接。 所以我的问题是,如何加入这些元素 (1:4,5:8,...107:110) ?
我知道 R 中有很多关于遗传学的包,但我试图让它非常简单,只是作为我遗传学研究小组的练习。
提前致谢!
也许这就是您的想法:
dat <- setNames( data.frame(
replicate(3, replicate( 1000,
paste0(sample(c("A","C","T","G"),4, replace=T),collapse="") ) ) ),
c("a","b","c") )
结果
dat
a b c
1 CATG CTAG CGAT
2 AGCT GACT TGAC
3 TCAG TAGC TCAG
4 CGAT GACT GTAC
5 TCGA TAGC CTGA
...etc
您应该能够与 dat$a
、dat$b
和 dat$c