Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.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
基于概率的R语言仿真 myfunction3(0.7) { 如果(seq2[j]=“A”)替换(seq2,j,样本(c(“c”,“G”,“T”),1)) 否则,如果(seq2[j]=“G”)替换(seq2,j,样本(c(“c”,“A”,“T”),1)) 否则,如果(seq2[j]=“T”)替换(seq2,j,样本(c(“c”,“G”,“A”),1)) 否则,如果(seq2[j]=“C”)替换(seq2,j,样本(C(“A”,“G”,“T”),1)) 否则如果(seq2[j]='E')替换(seq2,j,'T')) } } 返回(seq2)_R_Random - Fatal编程技术网

基于概率的R语言仿真 myfunction3(0.7) { 如果(seq2[j]=“A”)替换(seq2,j,样本(c(“c”,“G”,“T”),1)) 否则,如果(seq2[j]=“G”)替换(seq2,j,样本(c(“c”,“A”,“T”),1)) 否则,如果(seq2[j]=“T”)替换(seq2,j,样本(c(“c”,“G”,“A”),1)) 否则,如果(seq2[j]=“C”)替换(seq2,j,样本(C(“A”,“G”,“T”),1)) 否则如果(seq2[j]='E')替换(seq2,j,'T')) } } 返回(seq2)

基于概率的R语言仿真 myfunction3(0.7) { 如果(seq2[j]=“A”)替换(seq2,j,样本(c(“c”,“G”,“T”),1)) 否则,如果(seq2[j]=“G”)替换(seq2,j,样本(c(“c”,“A”,“T”),1)) 否则,如果(seq2[j]=“T”)替换(seq2,j,样本(c(“c”,“G”,“A”),1)) 否则,如果(seq2[j]=“C”)替换(seq2,j,样本(C(“A”,“G”,“T”),1)) 否则如果(seq2[j]='E')替换(seq2,j,'T')) } } 返回(seq2),r,random,R,Random,我写这个函数是为了根据概率向量z模拟给定的DNA序列seq2,如果概率大于0.7,那么新序列可以有其他三个核苷酸(a,G,T,C)中的任何一个。但每次它都返回一个空向量。这里是函数的一个紧凑变体: myfunction3 <- function(seq2,z) for(j in 1:100) { if(z[j]>0.7) { if(seq2[j] =='A') replace(seq2,j,sample(c("C","G","T"),1)) else if(seq2

我写这个函数是为了根据概率向量z模拟给定的DNA序列seq2,如果概率大于0.7,那么新序列可以有其他三个核苷酸(a,G,T,C)中的任何一个。但每次它都返回一个空向量。

这里是函数的一个紧凑变体:

myfunction3 <- function(seq2,z)


for(j in 1:100)

{

if(z[j]>0.7)

{  
if(seq2[j] =='A')  replace(seq2,j,sample(c("C","G","T"),1))

else if(seq2[j] =='G')  replace(seq2,j,sample(c("C","A","T"),1))

else if(seq2[j] =='T')  replace(seq2,j,sample(c("C","G","A"),1))

else if(seq2[j] =='C')  replace(seq2,j,sample(c("A","G","T"),1))

else if(seq2[j]=='E')   replace(seq2,j,'T')

}

}

return(seq2)
myfunction3(0.7))

seq2[j]这是您函数的一个紧凑变体:

myfunction3 <- function(seq2,z)


for(j in 1:100)

{

if(z[j]>0.7)

{  
if(seq2[j] =='A')  replace(seq2,j,sample(c("C","G","T"),1))

else if(seq2[j] =='G')  replace(seq2,j,sample(c("C","A","T"),1))

else if(seq2[j] =='T')  replace(seq2,j,sample(c("C","G","A"),1))

else if(seq2[j] =='C')  replace(seq2,j,sample(c("A","G","T"),1))

else if(seq2[j]=='E')   replace(seq2,j,'T')

}

}

return(seq2)
myfunction3(0.7))

seq2[j]我假设
seq2
是一个字符向量,
z
是一个样本长度的向量,并且您希望对
seq2
中的位置进行变异,其中
z>0.7

一种方法是首先创建一个由核苷酸键控的有效替换列表,然后编写一个突变函数,然后将该函数应用于
seq2
的子向量,其中
z>0.7

set.seed(42)
z <- sample(3:17)/10
seq <- sample(c("A","G","T", "C", "E"), length(z), repl=TRUE)
data.frame(seq, z, seq2=myfunction3(seq,z))

substitutions我假设
seq2
是一个字符向量,
z
是一个样本长度的向量,您希望对
seq2
中的位置进行变异,其中
z>0.7

一种方法是首先创建一个由核苷酸键控的有效替换列表,然后编写一个突变函数,然后将该函数应用于
seq2
的子向量,其中
z>0.7

set.seed(42)
z <- sample(3:17)/10
seq <- sample(c("A","G","T", "C", "E"), length(z), repl=TRUE)
data.frame(seq, z, seq2=myfunction3(seq,z))

替换在定义函数的表达式周围需要一些花括号
function(seq2,z){……return(seq2)}
如果seq2是一个字符串,那么seq2[j]是NA。另外,我不确定
replace
是正确的方法。只需使用
seq2[j]请给我们一个
seq2
z
的样本值,我们可以使用它进行测试。在定义函数的表达式周围需要一些花括号
function(seq2,z){……return(seq2)}
如果seq2是一个字符串,那么seq2[j]是NA。另外,我不确定
replace
是正确的方法。只需使用
seq2[j]请给我们一个
seq2
z
的样本值,我们可以用它进行测试。
substitutions <- list(A = c("C","G","T"),
                   G = c("A","C","T"),
                   T = c("A","C","G"),
                   C = c("A","G","T"),
                   E = c("T"))

mutate <- function(nucleotide){
  sample(substitutions[[nucleotide]],1)
}

myfunc <- function(seq2,z){
  to.change <- which(z > 0.7)
  seq2[to.change] <- sapply(seq2[to.change],mutate)
  seq2
}
> s <- sample(c("A","T","G","C","E"),10, replace = T)
> z <- sample(c(0,0.8),10, replace = T)
> rbind(s,z,myfunc(s,z))
  [,1]  [,2] [,3] [,4]  [,5] [,6]  [,7]  [,8]  [,9] [,10]
s "E"   "A"  "C"  "G"   "E"  "C"   "E"   "T"   "E"  "A"  
z "0.8" "0"  "0"  "0.8" "0"  "0.8" "0.8" "0.8" "0"  "0.8"
  "T"   "A"  "C"  "C"   "E"  "A"   "T"   "G"   "E"  "T"