作者milkdad (milkdad)
看板R_Language
標題[問題] .txt的資料匯入及行列轉換
時間Tue Sep 1 13:53:25 2015
文章分類提示:
- 問題: 當你想要問問題時,請使用這個類別
[問題類型]:
程式諮詢(我想用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://webptt.com/m.aspx?n=bbs/R_Language/M.1441086807.A.EB3.html
1F:推 Edster: 不至於這麼慢吧,我常常在讀500~600Mb的檔案,幾秒就結束 09/01 15:04
2F:→ Edster: 大資料可以翻閱20150721 C大發的那幾篇文. 09/01 15:06
3F:→ Edster: 或是試試readr::read_table, 作者也是dplyr的作者. 09/01 15:08
4F:→ Edster: 這個package下的讀檔案非常快. 上禮拜才讀過5G的檔. 09/01 15:10
5F:→ milkdad: 好的 我試試看!感謝回覆 我一開始也覺得不會這麼慢才對 09/01 16:14
6F:→ celestialgod: 瓶頸應該在column class checking... 09/01 16:27
7F:→ celestialgod: 建議全部設定成character,讀進來再依照自己需求做 09/01 16:27
8F:→ celestialgod: 轉換 09/01 16:27
9F:推 celestialgod: 我說的column class可以在read.table的colClasses 09/01 16:31
10F:推 celestialgod: 選項設定 09/01 16:31
11F:→ celestialgod: 我自己測試之後,還是直接讀比較好 09/02 01:22
12F:→ celestialgod: 轉換成本太高 09/02 01:22
13F:→ celestialgod: 除非確定你要直接橫轉直,每一個ROW的元素都同樣類 09/02 01:22
14F:→ celestialgod: 型 09/02 01:22