看板 R_Language 關於我們 聯絡資訊
剛剛在debug過程中,突然發現 base::read.csv(x, stringsAsFactors = TRUE) 對負數讀取會有不同的結果 一串應該是 numeric 的正數,其中或有一些負數與NA。 當 stringsAsFactors = TRUE 讀入的結果應該是 -0.4 會變成 (0.4) 然後文字型態會變成 character 必須用 base::read.csv(x, as.is=TRUE, stringsAsFactors = TRUE) 有人知道為何如此設計? and, 有沒有辦法讓 base::read.table 中的 as.is 直接永久設定成 TRUE -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.241.19.20 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1445140452.A.B0C.html
celestialgod: 標題分類不要亂刪qq 10/18 12:04
andrew43: 可否提供簡單例子?你不是說都是數字又怎麼有文字資料? 10/18 17:17
Edster: 我也很納悶,那時的檔案已經被我刪掉了。現在卻重創不出來 10/18 21:33
Edster: 我有用notepad++看過被讀入成文字(0.4)實際的數值是-0.4 10/18 21:34
Edster: 檢查過該檔案,只要數值是負數的全部被讀成類似的格式 10/18 21:35
Edster: 因此該欄位被判斷成character, 轉成numeric時會是NA 10/18 21:36
Edster: 正確的讀法如上所述, 需要加as.is=TRUE 10/18 21:37
celestialgod: 沒有例子,無法判斷... 10/18 21:41