R — Чтение STDIN построчно

Я хочу передать таблицу больших данных в R ПОСТРОЧНО, и если текущая строка имеет определенное условие (скажем, первые столбцы > 15), добавьте строку во фрейм данных в памяти.Я написал следующий код:

count<-1;
Mydata<-NULL;
fin <- FALSE;
while (!fin){
    if (count==1){
        Myrow=read.delim(pipe('cat /dev/stdin'), header=F,sep="\t",nrows=1);
        Mydata<-rbind(Mydata,Myrow);
        count<-count+1;
    }
    else {
        count<-count+1;
        Myrow=read.delim(pipe('cat /dev/stdin'), header=F,sep="\t",nrows=1);
        if (Myrow!=""){
        if (MyCONDITION){
            Mydata<-rbind(Mydata,Myrow);
        }
        }
        else
        {fin<-TRUE}
    }
}
print(Mydata);

Но я получаю сообщение об ошибке «данные недоступны». Обратите внимание, что мои данные большие, и я не хочу читать их все сразу и применять свое условие (в данном случае это было легко).

12
задан user1250144 26 March 2012 в 11:31
поделиться