R fonction de répétition jusqu'à ce que condition

Je suis en train de produire un échantillon aléatoire qui exclut certaines "mauvaises données." Je ne sais pas si les données sont "mauvais" jusqu'à ce que après que je l'échantillon. Donc, j'ai besoin de faire un tirage au sort de la population et de la tester. Si les données sont "bonnes", puis le garder. Si les données sont "mauvais", puis tirer au hasard un autre et de le tester. Je voudrais faire ceci jusqu'à ce que ma taille de l'échantillon atteint 25. Ci-dessous est un exemple simplifié de ma tentative d'écrire une fonction qui fait cela. Quelqu'un peut s'il vous plaît dites-moi ce que je suis absent?

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)
êtes-vous familier avec ?while ?
J'ai pris un coup d'oeil à ?'tout' et ?Le contrôle, mais avait de la difficulté à comprendre comment l'utiliser.
Donc, vous avez à faire après le calcul de dessin? ici, vous avez déjà SCORE, tout sous-ensemble de ces bonnes et l'échantillon.
Serait-ce encore un échantillon aléatoire de la population d'origine?
c'est en utilisant la même info "SCORE" mentionné ci-dessus, sauf si il y a quelque chose d'autre pas dans l'exemple, il réduit simplement à un simple problème.

OriginalL'auteur user1491868 | 2013-12-10