我試圖生成排除某些「不良數據」的隨機樣本。我不知道數據是否「壞」,直到我對它進行採樣。因此,我需要隨機抽取人羣並進行測試。如果數據「很好」,那麼保留它。如果數據「不好」,則隨機抽取另一個數據並對其進行測試。我想這樣做,直到我的樣本大小達到25歲。下面是我嘗試編寫這樣一個函數的簡化示例。任何人都可以告訴我我失蹤了什麼?R重複函數,直到條件滿足
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)
你是否熟悉'?while'? –
我看了一下?'while'和?Control但很難理解如何使用它。 – user1491868
那麼,繪圖後你必須做計算嗎?在這裏,你已經有了'SCORE',只是那些優秀和樣品的子集。 – Ananta