为什么我的while循环卡住了-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个字符。任何帮助都将不胜感激:)为什么我的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的替代方法,应该可
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