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)
確率ベクトルzに従って与えられたDNA配列seq2をシミュレートするこの関数では、確率が0.7より大きい場合、新しい配列は他の3つのヌクレオチドのいずれかを持つことができます(A、G、T、C)を代用します。しかし、毎回NULLベクトルが返されます。ここで確率を使ったRのシミュレーション
あなたは '関数(SEQ2、...あなたの関数を定義する式の周りにいくつかの中括弧を必要としますz){... ... return(seq2)} ' –
seq2が単一の文字列の場合、seq2 [j]はNAです。 –
また、私は 'replace'がこれを行う正しい方法であるとは確信していません。それぞれの文に 'seq2 [j] < - sample(c(...)、1)'を使ってください。 –