[英]Repeat random sampling of rows
我有一個包含2列的數據框:第1列是ID,第2列是與每個ID相關聯的值(總共59個不同的行)。
例:
[ID] [value]
[1] a 164
[2] b 167
[3] c 120
[4] d 117
[5] e 106
我假設我可以從第1列中隨機抽樣並將關聯值保留在第2列中的唯一方法是對行進行抽樣。 我需要隨機采樣50 x 1行,50 x 2行,50 x 3行,50 x 4行等,最多59行。 理想情況下,每個樣本集輸出都作為數據框。 因此,我最終將獲得59組隨機采樣的數據。 本質上,這與創建數據的隨機子集相同。
我有這段代碼,例如,它會產生10個隨機采樣行的df。
sample_df<-df[sample.int(nrow(df),size=10,replace=TRUE),]
問題是如何調整此代碼,以使其產生10次隨機行的50倍? 我應該使用循環來生成所需的所有隨機樣本嗎?
您可以使用lapply
,這將返回數據幀列表:
lapply(1:59, function(x) df[sample(nrow(df), size = x, replace = TRUE),])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.