2016-09-27 130 views
-1

該數據集,我使用已缺失在他們值中刪除的樣本的行,所以必須使用無肢包插補,所得到的數據集是以下形式的:從原始數據幀

Bi.Rads  Age  Shape  Margin  Density  Severity 
5.000000  70.00000 3.4685058 5.00000000 3.000000  1 
5.000000  70.00000 4.0000000 3.00000000 3.000000  1 
5.000000  70.00000 4.0000000 4.00000000 3.000000  1 
5.000000  70.00000 4.0000000 5.00000000 3.000000  1 
5.000000  70.00000 4.2881664 4.00000000 3.689292  1 
5.000000  70.27765 4.0000000 4.00000000 3.000000  1 

十進制中的值是歸算的值。現在考慮這個數據設置爲數據幀DF,我隨機抽樣從DF 100行,而不更換

df1<-df[sample(nrow(df),100),] 

現在,我想從DF去除DF1,我已經試過像使用%相近崗位每一個建議在%中,使用了不返回861行的dplyr包。我試圖評論其他職位,但我不能,因爲我沒有足夠的聲譽。你能幫我解決嗎?沒有像使用軟件包sqldf的技術,比較迄今爲止工作。

+0

考慮保存有你想爲DF1行數的向量,然後創建DF2這是所有,但這些在向量。 '保持< - sample(nrow(df),100)'然後'df1 < - df [keep,]'和'df2 < - df [-keep,]' – mdgbeck

+0

哦,這絕對是一個重複的問題。 – InfiniteFlashChess

+0

@ AOK3000我正在使用R工作室,我試過了你的建議,它在環境窗口中顯示861個觀察值,但是當我打印它時,它會打印所有961個觀察值。不知道它是否正確。 – Varun

回答

-1

試試這個:

indices <- sample(1:nrow(df), 100) 
df <- df[-indices,] 
+0

我想你的建議和得到這個error'random <-mammo [樣品(1:nrow(乳房專用),100),] 乳房專用<-mammo [-random,] 錯誤XJ [I]:無效標type'list'' – Varun

+0

random <-sample(1:nrow(mammo),100); mammo <-mammo [-random,] –

+0

是啊,這也是,並試圖打印mammo,它打印所有961他們,但顯示觀察次數爲861. – Varun

-1

在這裏你去,下面的子集劃分一個數據幀時,類似於!%in%,但在這裏它是用來保留或刪除行。

library(dplyr) 

Desired_data<-anti_join(df, df1) 

來源:

Find complement of a data frame (anti - join)

+0

由於我的估算數據集是十進制的,因此在這裏不起作用。 – Varun

+0

我不知道爲什麼這很重要,但看看其他的選擇。 – InfiniteFlashChess

+0

我這樣說,是因爲我在另一個沒有小數值的數據集上嘗試了sqldf,並且它的工作正常。 – Varun