2017-04-27 80 views
0

我收到了化合物濃度的csv表。分散在各處的字符值具有各種含義,如> 888,<0.2,/等等。csv讀取期間將字符串轉換爲NA

有沒有一種方法,最好使用鹼基R或readr在讀入時將它們轉換爲NA,因此只能從數字數據開始?

此刻,我只能找到a solution that relies on hard-coding every character string這將是太困難和費時。

+0

有讀取CSV文件,當你試圖指定那些爲'na.strings'? –

+0

這是鏈接答案中的解決方案,但我想知道如何將它應用於任何字符串而不是指定的字符串。 – Joe

+0

鏈接帖子中接受的答案是不同的。那麼問題在於你是否有任何方法知道可能存在的價值。如果不是,我想你必須完全讀取它們,並稍後使用as.numeric –

回答

1

一旦你在閱讀它們,只是用as.numeric ...

a <- c("1","2","3",">4","5","6-7","8+","9") 

as.numeric(a) 
1 2 3 NA 5 NA NA 9 
+0

謝謝,但出於好奇,我想知道是否可以在閱讀過程中完成。(無疑,一旦數據已經在R中,有很多方法可以實現這一點)。 – Joe

+0

我不知道一個簡單的方法 - 不管怎樣,你都必須閱讀每一個條目,這樣代碼才能決定是接受還是拒絕,因此就效率而言,閱讀所有內容然後進行整理是有意義的。 –

+0

我明白你的觀點。 – Joe