看板 R_Language 關於我們 聯絡資訊
文章分類提示: - 問題: 當你想要問問題時,請使用這個類別 [問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 新手(沒寫過程式,R 是我的第一次) [問題敘述]: 想匯入一個約100mb的.txt檔 此檔案的“列”只有12筆 但“行”有約92萬筆 因此想要做行列轉換 以利後續分析 但天真如我卻發現連匯入資料都成問題 [程式範例]: 我是想直接用read.table的方式匯入 再用 t()來轉置 如下 datfile=paste(路徑, '檔案.txt', sep='') data=read.table(datfile, header=TRUE,sep='\t') 但到了這一步 R就一直轉了兩個小時 因此還沒試到行列轉換 才想上來詢問 麻煩各位大大幫忙 [環境敘述]: 作業系統:OSX 10.9.5 R版本:3.1.3 [關鍵字]: 資料匯入 行列轉換 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.117.61 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1441086807.A.EB3.html
Edster: 不至於這麼慢吧,我常常在讀500~600Mb的檔案,幾秒就結束 09/01 15:04
Edster: 大資料可以翻閱20150721 C大發的那幾篇文. 09/01 15:06
Edster: 或是試試readr::read_table, 作者也是dplyr的作者. 09/01 15:08
Edster: 這個package下的讀檔案非常快. 上禮拜才讀過5G的檔. 09/01 15:10
milkdad: 好的 我試試看!感謝回覆 我一開始也覺得不會這麼慢才對 09/01 16:14
celestialgod: 瓶頸應該在column class checking... 09/01 16:27
celestialgod: 建議全部設定成character,讀進來再依照自己需求做 09/01 16:27
celestialgod: 轉換 09/01 16:27
celestialgod: 我說的column class可以在read.table的colClasses 09/01 16:31
celestialgod: 選項設定 09/01 16:31
celestialgod: 我自己測試之後,還是直接讀比較好 09/02 01:22
celestialgod: 轉換成本太高 09/02 01:22
celestialgod: 除非確定你要直接橫轉直,每一個ROW的元素都同樣類 09/02 01:22
celestialgod: 型 09/02 01:22