How to not to terminate read.table if the input file is empty?
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