2017-02-24 73 views
-1

我是R和openrefine中的新成員。 我有一個數據集,但其中一些值有?而非有效值。OpenRefine:用NA代替錯過的值

我想更換?與現實NA這樣我就可以忽略它們很容易忽略他們

na.rm = TRUE 

要做到這一點,我用openrefine和

編輯單元格 - >變換 - >value.replace("?","NA")

雖然它改變了NA但NA的類型爲字符串,所以它是沒有用的

我怎樣才能將它轉換過一個真正的NA?

+0

這不是我的回答 – Salman

+0

'value.replace(「?」,NA)'??。不確定,沒有使用openrefine。 –

+0

'錯誤:替換期望3個字符串,或1個字符串,1個正則表達式和1個字符串' – Salman

回答

0

如果您讀取的數據集包含「?」已經,如果你從csv(也許)讀它,那麼你可以做下面的。

例: 「?」

input_file = read.csv('input.csv', header = T, as.is = T, na.strings = c("NA","?")) 

這會考慮爲NA在讀取數據集,這樣就可以使用na.rm

但是我會建議使用grep的功能,足以取代這種特殊字符或當你想刪除它們,只需使用dplyr ::過濾器除去行時該列對應的值等於「?」。也可以爲此提供代碼,但自己嘗試一下是一個很好的學習。

希望這會有所幫助。

+0

請參閱此問題以獲得更好的解決方案。 http://stackoverflow.com/questions/21422114/na-strings-applied-to-a-dataframe –

+0

你可以針對某些情況發佈一個單獨的問題嗎?我不認爲這與你之前的問題有關。 –