Ich versuche, eine Stichprobe zu erzeugen, die bestimmte ausschließt „schlechte Daten.“ Ich weiß nicht, ob die Daten "schlecht" sind, bis ich sie einmal getestet habe. Also muss ich eine zufällige Auslosung von der Bevölkerung machen und sie dann testen. Wenn die Daten "gut" sind, dann behalte sie. Wenn die Daten "schlecht" sind, dann ziehe zufällig einen anderen und teste ihn. Ich möchte dies tun, bis meine Stichprobengröße 25 erreicht. Unten ist ein vereinfachtes Beispiel für meinen Versuch, eine Funktion zu schreiben, die dies tut. Kann mir bitte jemand sagen, was ich vermisse?R Repeat-Funktion, bis die Bedingung erfüllt
df <- data.frame(NAME=c(rep('Frank',10),rep('Mary',10)), SCORE=rnorm(20))
df
random.sample <- function(x) {
x <- df[sample(nrow(df), 1), ]
if (x$SCORE > 0) return(x)
#if (x$SCORE <= 0) run the function again
}
random.sample(df)
sind Sie vertraut mit '? While'? –
Ich schaute auf "while" und "Control", hatte aber Schwierigkeiten zu verstehen, wie man es benutzt. – user1491868
Also müssen Sie nach dem Zeichnen eine Berechnung durchführen? hier haben Sie bereits 'SCORE', nur Teilmengen, die gut und Probe. – Ananta