作者Edster (Edster)
看板R_Language
標題read.csv 中 stringsAsFactors 擅自更動文字
時間Sun Oct 18 11:54:10 2015
剛剛在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