Hallo an alle, ich habe ein Problem mit einem Zähler, den ich in einer for-Schleife erstellt habe. Hier ist der Code.
%Vor%Wie Sie aus der Ergebnisnummer von a = 5 und b = 2 sehen können. Aber wenn ich n1 und n2 anrufe, gibt es 4 für n1 zurück, was falsch ist. Warum das? Wie liege ich falsch? Vielen Dank im Voraus.
Ich fange an, a's und b's mit einer Wahrscheinlichkeit von 0.5 .20 zu testen. An einem Punkt, den ich nicht im Voraus kenne, ist die Anzahl von a - die Anzahl von b's größer als 2. Wenn dies passiert, möchte ich, dass die Stichprobenwahrscheinlichkeit sich auf 0.2 ändert. Das ist das, was ich zu erreichen versuche.
ifelse
ist vektorisiert, sodass Sie hier kein for-loop
verwenden müssen. So wie Sie es verwenden sollten:
Verwenden Sie dann table
, um das Auftreten zu zählen:
Um n1
zu erhalten:
BEARBEITEN OP möchte das Sample entsprechend dem Vorkommen von a und b ändern. Sie sollten if
und else
nicht ifelse
verwenden. Sie sollten auch Speicher für Vektor f im Voraus reservieren.