2008年11月1日 星期六

檔案處理

  • 自外部讀入一個文字檔非常容易, 只要一個指令

mydata=read.table("J:\\R\\Programs\\testdata.dat",header=TRUE, sep=",")

上例第一個參數為文字檔名, 第二個參數指明文字檔第一列為欄位名稱, 第三個參數指出欄位間分隔符號為逗點(,),其他可設定的參數非常多,可輸入指令help("read.table")查閱。


  • 自R輸出一個文字檔只要改read為write即可

write.table(mydata,"J:\\R\\Programs\\testdata2.dat", sep=",",row.names = FALSE)

其中row.names = FALSE表示不輸出列號, 否則, R預設會輸出列號。

  • 大檔案的處理
大檔一次讀入R, 會造成記憶體不足, 這時必須採取串流的方式, 一行行或一段段的讀, 才不會出問題, 指令如下

> con=file("j:/r/programs/testdata.dat","r") #開啟檔案

> readLines(con,1) #1表讀一列, 可一次讀取100列

> close(con) #關閉檔案


沒有留言: