2013-10-12 218 views
-1

我有300個數字(從1到300)的向量。我想創建兩個子集,即模型/訓練(200個數字)和測試集(100個數字)替換。我試圖使用samplesubset,但沒有得到我想要的結果。R隨機抽樣隨機取樣的子集

MWE: 
x=(1,2,3,.......300) 
x1 = (1,1,2,3,5,5,...........,300) (Consider it training set of 200 samples) 
x2 = (1,3,9,101,130,130,..........299) 

任何建議請!!!!!

+0

我忘記提及我正在使用R –

+3

您是如何嘗試使用'sample'的?如何得出結果不是您想要的? – flodel

+0

以下是示例 > x = seq(from = 1,to = 300,by = 1) > x [1] 1 2 3 4 5 6 7 8 ....... 300 a = sample (x,size = 100,replace = TRUE,prob = NULL) a = sample(x,size = 200,replace = TRUE,prob = NULL) –

回答

0

您可以創建一組隨機指數爲訓練集,然後選擇所有,但這些指標的測試集,這樣的:

data <- c(1,3,8,7,19,5,4,10,11,20) 
i <- sample(1:length(data), 5) 
training <- data[i] 
test <- data[-i] 

這將得到5分,訓練集,所有的剩餘的點將在測試集中進行。

+0

謝謝,解決了這個問題。但是,如果我想有一個測試集,其中包含未包含在訓練集中的索引和訓練集中包含的索引的組合(隨機抽樣並重新替換)。我可以這樣做嗎? –

+0

當然,只需將最後一行替換爲:test < - sample(data,desiredSampleSize,replace = TRUE),其中desiredSampleSize是您希望您的測試數據集有多大。 – StevenHolland