Erhöhen Sie den Zähler in einer for-Schleife in R

8

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.

    
Manos 01.12.2013, 01:50
quelle

1 Antwort

8

ifelse ist vektorisiert, sodass Sie hier kein for-loop verwenden müssen. So wie Sie es verwenden sollten:

%Vor%

Verwenden Sie dann table , um das Auftreten zu zählen:

%Vor%

Um n1 zu erhalten:

%Vor%

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.

%Vor%     
agstudy 01.12.2013, 02:02
quelle

Tags und Links