Я пытаюсь создать случайную выборку, которая исключает определенные "плохие данные". Я не знаю, являются ли данные "плохими" до тех пор, пока я не опробовать его. Таким образом, мне нужно сделать случайную ничью у населения, а затем проверить ее. Если данные "хорошие", то сохраните их. Если данные "плохие", тогда случайным образом нарисуйте другой и проверьте его. Я хотел бы сделать это, пока размер моего образца не достигнет 25. Ниже приведен упрощенный пример моей попытки написать функцию, которая делает это. Может ли кто-нибудь рассказать мне, что мне не хватает?
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)