2016-11-08 2 views
0

Ich versuche, eine R-Funktion zu erstellen, Proben aus einer 3-Komponenten-Normalmischung Verteilung mit 3 verschiedenen Parametern zu generieren, aber ich bekomme Fehlermeldungen.Versuchen, eine Funktion für eine 3-Komponenten-Normalverteilung zu erstellen

Hier ist meine aktuellen Code

normal.mixture = function(n, mu1, sig1, w1, mu2, sig2, w2, mu3, sig3, w3) { 
    p = c(w1, w2, w3) 
    x=vector(mode="numeric", length=n) 
     for (i in 1:n) { 
      j = sample(c(1,2,3), 1, prob=p) 
      if (j==1) { 
       x[i] rnorm(1, mu1, sig1) 
      } 
      else if (j==2) { 
       x[i] = rnorm(1, mu2, sig2) 
      } 
      else { 
       x[i] = rnorm(1, mu3, sig3) 
      } 
     } 
    x 
} 
+0

Bitte erklären, was das Ergebnis zu erwarten ist, und genau das, was Fehler oder Probleme Sie haben. – xpereta

+0

Der Fehler sagt unerwartet} aber ich habe überprüft, dass alle Klammern von der gleichen Menge sind. Das Ergebnis, das ich sehen möchte, ist ein Vektor, den ich die Verteilung von –

+0

plotten kann Bitte fügen Sie die Details der Fehler, die Sie aufgenommen haben, und das erwartete Ergebnis in den Körper Ihrer Frage ein. – xpereta

Antwort

0

denken Sie fehlt ein Gleichheitszeichen

if (j==1) { 
      x[i] = rnorm(1, mu1, sig1) 
    } 
Verwandte Themen