1. 程式人生 > >R 語言逐行讀取並處理大檔案

R 語言逐行讀取並處理大檔案

用R語言作分析時,有時候需要逐行處理非常大檔案,各種教材中推薦的read.table 和scan都是一次性讀入記憶體,如果檔案有好幾個Gb大小,一般電腦肯定吃不消。其實R中可以逐行讀取的行數,這裡示例一個函式,作為備忘:

con <- file("e:/data.txt", "r")
line=readLines(con,n=1)
while( length(line) != 0 ) {
     print(line)
     line=readLines(con,n=1)
}
close(con)

如果需要將一行的文字劈成多段,再進行處理,可以用strsplit函式,除此之外,還有一些常用的字串處理函式,記錄如下:

substr(),nchar(), grep(), regexpr(), sub(), gsub()

轉自:http://gzh48.blog.163.com/blog/static/6243380920101022925421/