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)
Ich habe diese Funktion geschrieben, um eine gegebene DNA-Sequenz seq2 zu simulieren nach dem Wahrscheinlichkeitsvektor z in dem, wenn die Wahrscheinlichkeit größer als 0,7 dann ist die neue Sequenz eine der anderen drei Nukleotide aufweisen (A, G, T, C) an seiner Stelle. Aber jedes Mal, wenn es einen NULL-Vektor zurückgibt.Simulationen in R Wahrscheinlichkeit unter Verwendung
Sie müssen einige geschweiften Klammern um den Ausdruck, die Ihre Funktion definiert ... 'Funktion (seq2, z) {... ... return (seq2)} ' –
Wenn seq2 eine einzelne Zeichenkette ist, dann ist seq2 [j] NA. –
Ich bin mir auch nicht sicher, 'ersetzen 'ist der richtige Weg, dies zu tun. Verwenden Sie einfach 'seq2 [j] <- sample (c (...), 1)' für jede Anweisung. –