2017-05-09 44 views
0

預測我創建一個使用排隨機生成的數據集:嘗試R中

training_data <- fulldata[sample(nrow(fulldata),100,] 

我,我可以創建數據的其餘部分的第二個數據集的印象... rest_data <- fulldata[-training_data]是我在筆記中記下的代碼,但我得到的

「錯誤‘[.DEFAULT’(fulldata,-training_data):

哪一部分我的代碼是不正確的?

+0

training_data < - fulldata [樣品(nrow(fulldata),100),]失蹤)是一個錯字,它是在我的代碼中。抱歉。 – Thomas

回答

0

假設fulldata是一個數據幀,在下標中需要逗號來表示需要數據幀的行(即, fulldata[rows,columns])。但新數據幀training_data的索引將編號爲1:100,因此您需要一個不同的指示符,它對應於training_datafulldata之間的對應關係,以顯示fulldata的哪些行不應包含在內。你可能做的是使用rownames,是這樣的:

rest_data<-fulldata[-which(rownames(fulldata)%in%rownames(training_data)),] 

應該讓R能夠去除fulldata發生在training_data的rownames。如果您有類似的ID變量是唯一的每一行,你也可以使用這個

rest_data<-fulldata[-which(fulldata$ID%in%training_data$ID),]