R: Циклы для обработки большого набора данных (ГБ) в кусках?

У меня есть большой набор данных в ГБ, который я должен обработать, прежде чем анализировать их. Я попытался создать соединитель, который позволяет мне циклически проходить по большим наборам данных и извлекать порции за раз. Это позволяет мне помещать в карантин данные, удовлетворяющие некоторым условиям.

Моя проблема заключается в том, что я не могу создать индикатор для соединителя, который указывает, что он является нулевым, и выполнить close (соединитель), когда достигнут конец набора данных. Более того, для первого фрагмента извлеченных данных мне придется пропустить 17 строк, поскольку файл содержит заголовок, который R не может прочитать.

Ручная попытка, которая работает:

filename="nameoffile.txt"    
con<<-file(description=filename,open="r")    
data<-read.table(con,nrows=1000,skip=17,header=FALSE)    
data<-read.table(con,nrows=1000,skip=0,header=FALSE)    
.    
.    
.    
till end of dataset

Поскольку я хотел бы избежать ручного ввода вышеуказанной команды до тех пор, пока не достигну конца набора данных, я попытался написать цикл для автоматизации процесса, который не увенчался успехом.

Моя попытка с циклами не удалась:

filename="nameoffile.txt"    
con<<-file(description=filename,open="r")    
data<-read.table(con,nrows=1000,skip=17,header=FALSE)        
if (nrow(rval)==0) {    
  con <<-NULL    
  close(con)    
  }else{    
    if(nrow(rval)!=0){    
    con <<-file(description=filename, open="r")    
    data<-read.table(conn,nrows=1000,skip=0,header=FALSE)      
  }}    

Ответы на вопрос(1)

Ваш ответ на вопрос