我正在尝试生成某些字母序列,其中包含重复的主题,并散布着随机字母。
例如:ABXXXXXXXABXXXXXXXABXXXXXXX,其中X = A,B,C或D,是随机选择的。
我还需要指定序列的总长度,更改重复的字母以及重复的频率(例如,使BC每5个字符重复一次)。
可悲的是,我只能生成定义长度的随机序列,其中包含选择字符:
set.seed(42)
x <- sample(letters[c(1, 2, 3, 4)], size=200, replace = TRUE)
答案 0 :(得分:1)
这是一个自定义函数,它每隔n个字符重复一个固定模式,
array_filter()
答案 1 :(得分:0)
构建使用stringi和for循环的函数:
library(stringi)
generateRandomSequence <- function(fixedPart, randomLength, repititions){
output <- ""
for(i in 1: repititions){
newPart <- paste(fixedPart, stri_rand_strings(1, randomLength) ,sep="")
output <- paste(output,newPart,sep="")
}
return(output)
}
我们可以调用函数:
generateRandomSequence("AB",5,2)
给出结果:“ ABuwHpdABWj8eh”
第一个参数“ AB”是重复序列。第二个参数是散布在重复序列中的随机字符数。第三部分控制重新排列的数量。