[R] How to not to terminate read.table if the input file is empty?

David Winsemius dwinsemius at comcast.net
Fri Jan 1 23:11:16 CET 2010


On Jan 1, 2010, at 4:42 PM, Peng Yu wrote:

> On Fri, Jan 1, 2010 at 3:19 PM, Peng Yu <pengyu.ut at gmail.com> wrote:
>> On Fri, Jan 1, 2010 at 2:54 PM, Dylan Beaudette
>> <dylan.beaudette at gmail.com> wrote:
>>> ?try
>>
>> This works. Thank you!
>>
>>> f=try(read.table("empty_data.txt"))
>> Error in read.table("empty_data.txt") : no lines available in input
>
> One more question. Is there a way to suppress the output to the screen
> 'Error in read.table("empty_data.txt") : no lines available in input'?

As always, you should try reading the full help page. I know it must  
seem onerous but in this case (re-?)read all of the help page for "try".

-- 
David.
>
>>> if(class(f)=='try-error') {
>> +   f=NULL
>> + }
>>> print(f)
>> NULL
>>> g=try(read.table("data.txt"))
>>> print(g)
>>    V1     V2     V3     V4
>> 1 name title1 title2 title3
>> 2 row1   10.1   20.1   30.1
>> 3 row2   12.1   22.1   32.1
>>>
>>
>>
>>> On Fri, Jan 1, 2010 at 12:41 PM, Peng Yu <pengyu.ut at gmail.com>  
>>> wrote:
>>>> read.table terminates the program if the input file is empty. Is  
>>>> there
>>>> way to let the program continue and return me a NULL instead of
>>>> terminating the program?
>>>>
>>>> $ Rscript read_empty.R
>>>>> read.table("empty_data.txt")
>>>> Error in read.table("empty_data.txt") : no lines available in input
>>>> Execution halted
>>>> $ cat read_empty.R
>>>> read.table("empty_data.txt")
>>>> $ cat empty_data.txt; echo EOF
>>>> EOF

>

David Winsemius, MD
Heritage Laboratories
West Hartford, CT



More information about the R-help mailing list