看板 R_Language 關於我們 聯絡資訊
問題一 我要讀的是筆記本txt檔 檔案太大無法先用excel處理 我的分隔符號有多個 請問要怎麼寫?? 我的code read.table("d:\\xxx.txt" ,sep=";", fill=T, quote="") 我想要用 ; 和 空格 當作分隔符號 未來可能再增加 ========================================================== 問題二 我的資料中 有些地方沒有值 所以當初在存的時候就直接忽略 連空白都沒留 像這樣: sam;16;boy; 2015:00:09:59 green;18;gril paul;20; 2015:00:09:59 第一行是name 第二行是age 第三行是性別 但是paul沒有記錄到 所以直接記錄到第四行的time green的time也沒記錄到 想問有沒有什麼方法解決 我目前只想到比較笨的方法 給它特定範圍去判斷 像性別不是boy就是gril 出現其他就給他NA 還有 這樣讀資料也會因為每列資料col都不一樣 有的時候會出現問題 是可以讀成文字再去慢慢拆開 不過有點笨就是了 最後想問如果讀資料量上百萬筆 還是用read.table嗎? 有沒有比較好的函數專門處理large data? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.137.162.5 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1462034121.A.29E.html
andrew43: 先考慮 data.table package 的 data.table 和 fread 05/01 00:55
andrew43: 這在大資料有利,但還是要先解決各列不齊一的問題。 05/01 01:04
andrew43: 目前我覺得拆開各列來解似乎是不可必免的,因為在邏級上 05/01 01:07
andrew43: 判別哪個欄位要給NA是你來設計的。 05/01 01:09
andrew43: 所以核心問題可能變成怎麼有效率且穩健地整理大量字串。 05/01 01:10
感謝 這部分可能會直接擷取分號與分號中的字串 然後去比對 那問題一大大知道嗎? 當然也可以變成字串自己再去解開分號內的東西 只是感覺整個程式會變得很笨重 ※ 編輯: f496328mm (220.137.162.5), 05/01/2016 01:25:25
andrew43: 第一個問題我想還是要先字串處理後再丟給現成func才行。 05/01 02:17
andrew43: 因為指定多於一個字符可能會很麻煩,所以主流func不做。 05/01 02:19
andrew43: 例如你很難精確地說"a b ;c; d"的結果是什麼。 05/01 02:21
andrew43: 所以我覺得指定reg expr自己切會簡單很多。 05/01 02:27