[問題] .txt的資料匯入及行列轉換

看板R_Language作者 (milkdad)時間8年前 (2015/09/01 13:53), 編輯推噓3(3011)
留言14則, 3人參與, 最新討論串1/2 (看更多)
文章分類提示: - 問題: 當你想要問問題時,請使用這個類別 [問題類型]: 程式諮詢(我想用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

09/01 15:04, , 1F
不至於這麼慢吧,我常常在讀500~600Mb的檔案,幾秒就結束
09/01 15:04, 1F

09/01 15:06, , 2F
大資料可以翻閱20150721 C大發的那幾篇文.
09/01 15:06, 2F

09/01 15:08, , 3F
或是試試readr::read_table, 作者也是dplyr的作者.
09/01 15:08, 3F

09/01 15:10, , 4F
這個package下的讀檔案非常快. 上禮拜才讀過5G的檔.
09/01 15:10, 4F

09/01 16:14, , 5F
好的 我試試看!感謝回覆 我一開始也覺得不會這麼慢才對
09/01 16:14, 5F

09/01 16:27, , 6F
瓶頸應該在column class checking...
09/01 16:27, 6F

09/01 16:27, , 7F
建議全部設定成character,讀進來再依照自己需求做
09/01 16:27, 7F

09/01 16:27, , 8F
轉換
09/01 16:27, 8F

09/01 16:31, , 9F
我說的column class可以在read.table的colClasses
09/01 16:31, 9F

09/01 16:31, , 10F
選項設定
09/01 16:31, 10F

09/02 01:22, , 11F
我自己測試之後,還是直接讀比較好
09/02 01:22, 11F

09/02 01:22, , 12F
轉換成本太高
09/02 01:22, 12F

09/02 01:22, , 13F
除非確定你要直接橫轉直,每一個ROW的元素都同樣類
09/02 01:22, 13F

09/02 01:22, , 14F
09/02 01:22, 14F
文章代碼(AID): #1LvJrNwp (R_Language)
文章代碼(AID): #1LvJrNwp (R_Language)