我有一個3000行和50000列的表。從這些數據中,我想使5個數據集包含原始數據的10%而沒有任何重疊(在這種情況下,3000 = 300的10%)。另外我想要從原始數據集中刪除重採樣數據集。實施例沒有任何重疊的隨機重新採樣
1.Original data (O)
a. Randomly resampled dataset1 (RD1)
b. Randomly resampled dataset2 (RD2)
c. Randomly resampled dataset3 (RD3)
d. Randomly resampled dataset4 (RD4)
e. Randomly resampled dataset5 (RD5)
2. remove RD from O
a. O - RD1 = New dataset1
b. O - RD2 = New dataset2
c. O - RD3 = New dataset3
d. O - RD4 = New dataset4
e. O - RD5 = New dataset5
我嘗試隨機重新採樣如下面中的R
original=read.table("table1.txt", header=F)
RD1=original[sample(nrow(original), replace=F, size=0.1*nrow(original)), ]
但它有重疊。我如何製作非重疊套餐?以及如何從原始設置中刪除RD以創建新的數據集?任何awk,sed,python或R解決方案?
也許你應該試試這個'RD1 =原[樣品(1:nrow(原件),取代= F,大小= 0.1 * nrow(original)),]' –
['modelr'](https://github.com/tidyverse/modelr)使這個非常簡單。 – alistaire
或者使用'split(樣本(20),seq(20/5))'和'lapply'(帶有負索引來獲得集合的其餘部分)的子集來創建索引列表。 – alistaire