Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我的while循环卡住了-R语言编程_R - Fatal编程技术网

为什么我的while循环卡住了-R语言编程

为什么我的while循环卡住了-R语言编程,r,R,我试图创建一个函数,该函数计算向量内部“a”“t”“g”和“t”“a”“g”或“t”“g”“a”或“t”“a”“a”之间的字符数。但是我的代码在while循环中被卡住了。例如x=“a”“a”“t”“a”“t”“g”“t”“c”“g”“t”“t”“t”“t”“t”“t”“t”“a”“g”。在本例中,代码应在“a”“t”“g”和“t”“a”“g”之间计数6个字符。任何帮助都将不胜感激:) orfs这是一种非常低效且类似于unr的方法来计算两个模式之间的字符数 下面是一个使用gsub的替代方法,应该可

我试图创建一个函数,该函数计算向量内部“a”“t”“g”和“t”“a”“g”或“t”“g”“a”或“t”“a”“a”之间的字符数。但是我的代码在while循环中被卡住了。例如x=“a”“a”“t”“a”“t”“g”“t”“c”“g”“t”“t”“t”“t”“t”“t”“t”“a”“g”。在本例中,代码应在“a”“t”“g”和“t”“a”“g”之间计数6个字符。任何帮助都将不胜感激:)

orfs这是一种非常低效且类似于unr的方法来计算两个模式之间的字符数

下面是一个使用
gsub
的替代方法,应该可以让您开始使用,并且可以扩展到其他终止密码子:

x <- c("a", "a", "a", "t", "a", "t", "g", "t", "c", "g", "t", "t", "t", "t", "a", "g")

nchar(gsub("[actg]*atg([actg]*)tag[actg]*", "\\1", paste0(x, collapse = "")))
#[1] 6

x欢迎您!传递给函数的p值是多少?请编辑提供的代码以显示如何调用函数。如果计数的字符数小于p,则不会添加到cntorfs变量。这意味着被发现的父亲太小了,不值得考虑。谢谢!我将尝试使用函数gsub()。
x <- c("a", "a", "a", "t", "a", "t", "g", "t", "c", "g", "t", "t", "t", "t", "a", "g")

nchar(gsub("[actg]*atg([actg]*)tag[actg]*", "\\1", paste0(x, collapse = "")))
#[1] 6