2017-03-02 23 views
0

道歉,但這裏是我的問題的屏幕截圖:與NA.x如行號R中不提供一個模擬數據集刪除行

enter image description here

你看到的是一個子集我的數據幀。我試圖從我的數據框中刪除實際行號中具有NA, NA.1, NA.x ...NA.6的行。

我試過回到我的原始.csv文件並刪除~200空白行下我的數據結束,但沒有幫助。

任何想法?

+3

'grepl( 「^ NA」,rownames(DF))'是如果你刪除一個文本編輯器,而不是Excel中的CSV行你在做什麼 – MichaelChirico

+0

後的核心,可能的工作。否則,如果你知道你應該多少行,'N',只篩選出像'DF [1:N,]' – Frank

+0

DF [! (rownames(DF)%以%C( 'NA.1', 'NA.2', 'NA.3', 'NA.4', 'NA.5', 'NA.6')),] – Sathish

回答

0

也許下面的代碼將刪除NA爲您記錄:

df <- df[rowSums(is.na(df))<length(df), ] 

列的推論是

df <- df[, colSums(is.na(df))<nrow(df)] 
0

在小時R-兔子洞是後,我想通了一些這種答案雖然不太令人滿意,但卻是一種答案。

我曾嘗試過一些選項,如DF [!is.na(DF $ column_w/_an_NA_that_should_have_data)],以刪除這些行,但我得到的結果是在指定列中沒有行w/NA。

我發現它有些事情要做,「合併」。我向你展示的數據幀(DF)是兩個不同長度DF的合併DF。兩個DF差異8行 - 正好是奇怪的NA.x列的數量。

我將稱DF爲240行「DFA」,DF爲232行「DFB」。我用DFC < - 合併(DFA,DFB,全部= T)來合併DF。如果我將DFC導出爲.csv並在Excel中打開它,則看起來應該如此 - 所有240行都存在,並且有8行的子集在DFA特定列中具有NAs。

那麼爲什麼這些NA.x行(即行號#中的NA.x)在我的數據子集中顯示時出現?那麼,我發現,當我通過DFA和DFB共有的列對數據進行子集分類時,輸出看起來很正常。也就是說,沒有奇怪的NA.x行。但是,當我通過DFA特有的列對數據進行子集分析時,該列中存在NAs的8行顯示爲完全NA.x行。更具體地說,我通過例如3個級別中的1個對由因子組成的DFA唯一列進行子集化。這是當我看到NA.x行彈出。

我不知道爲什麼整行變成了這些奇怪的NA.x行,因爲這些行必須在DFA-DFB共同列和DFB-獨特的列中的數據。

有沒有人遇到類似現象?我與之交談過的R-wizze從來沒有遇到過這個問題,也不知道爲什麼會發生這種情況。

雪萊