R: Loops para processar grandes conjuntos de dados (GBs) em blocos?

Eu tenho um grande conjunto de dados em GBs que eu teria que processar antes de analisá-los. Eu tentei criar um conector, o que me permite percorrer os grandes conjuntos de dados e extrair pedaços de cada vez. Isso me permite colocar em quarentena os dados que satisfazem algumas condições.

Meu problema é que eu não sou capaz de criar um indicador para o conector que estipula que é nulo e para executar perto (conector) quando o final do conjunto de dados é atingido. Além disso, para o primeiro bloco de dados extraídos, eu teria que pular 17 linhas, já que o arquivo contém o cabeçalho que o R não é capaz de ler.

Uma tentativa manual que funciona:

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

Como eu gostaria de evitar mannually keying o comando acima até chegar ao final do dataset, tentei escrever um loop para automatizar o processo, que não teve êxito.

Minha tentativa com loops que falharam:

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)      
  }}    

questionAnswers(1)

yourAnswerToTheQuestion