簡體   English   中英

重復隨機采樣行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM