如何设置从r中的字符串中随机选取字符的概率

如何设置从r中的字符串中随机选取字符的概率,r,random,character,R,Random,Character,我有一个重复4个字符“atgc”的字符串 a好吧,这里有一个方法: set.seed(1) # for reproducible example all.str <- sapply(1:(nchar(a)-4),function(i) substr(a,i,i+4)) gc <- grepl("gc",all.str) indx <- sample(c(TRUE,FALSE),10,p=c(0.6,0.4),replace=TRUE) result &l

我有一个重复4个字符“atgc”的字符串

a好吧,这里有一个方法:

set.seed(1)    # for reproducible example
all.str <- sapply(1:(nchar(a)-4),function(i) substr(a,i,i+4))
gc      <- grepl("gc",all.str)
indx    <- sample(c(TRUE,FALSE),10,p=c(0.6,0.4),replace=TRUE)
result  <- c(sample(all.str[gc],sum(indx)),sample(all.str[!gc],sum(!indx)))
result  <-result[sample(seq_along(result),length(result))]
result
#  [1] "cgatg" "ctagc" "cgtac" "tagct" "gtacg" "ttaat" "catat" "cgcat" "acgca" "atgct"
set.seed(1)#用于可复制的示例

all.str您想随机选择一个5字符的字符串,正好是3 g还是c?实际的字符串是一些3 GB的文件。从中我想随机挑选280个字符,其中有60%的“GC”。。60%“GC”表示280个文件中有60%不是全部3 gb文件。例如,对于
nchar
10的子字符串,您希望其中包含3对“GC”或6个“G”和/或“C”字符吗?@alexis_laz我的问题与字符无关。不管nchar的长度是多少,我想要所有可能的5个字符的字符串组合,其中有60%的G和C
set.seed(1)    # for reproducible example
all.str <- sapply(1:(nchar(a)-4),function(i) substr(a,i,i+4))
gc      <- grepl("gc",all.str)
indx    <- sample(c(TRUE,FALSE),10,p=c(0.6,0.4),replace=TRUE)
result  <- c(sample(all.str[gc],sum(indx)),sample(all.str[!gc],sum(!indx)))
result  <-result[sample(seq_along(result),length(result))]
result
#  [1] "cgatg" "ctagc" "cgtac" "tagct" "gtacg" "ttaat" "catat" "cgcat" "acgca" "atgct"