[R] Warning message about closing a connection XXXX

Prof Brian Ripley ripley at stats.ox.ac.uk
Wed Jan 4 18:25:51 CET 2012


On 04/01/2012 17:12, William Dunlap wrote:
> Re
>    >  How can I avoid the warning message altogether?
>
>    ?closeAllConnections
>
> I think of calls to closeAllConnections() in the same
> way that I think of calls to rm(list=objects()):
> they both can remove things that are not theirs to remove.
>
> Calling gc() will close all unused connections, so
> no damage can be done.  (I thought that the warning
> about closing unused text connections was dropped in
> a recent release of R so neither is really needed.)

Yes, it was.  The warning is there because the user may need to do 
something about the 'other end' of the now-closed connection, which R 
manages for textConnections.

There is however one circumstance where gc() does not close all unused 
connections, and that is when gzcon() is used (because that involves two 
connections and it is not clear when the inner one is 'in use': and we 
used to guess wrong).

Rather than using a sledgehammer, use showConnections(all=TRUE) to see 
all connections, and close the ones you want to (and its help page shows 
you how).

> Bill Dunlap
> Spotfire, TIBCO Software
> wdunlap tibco.com
>
>> -----Original Message-----
>> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of David Winsemius
>> Sent: Wednesday, January 04, 2012 7:10 AM
>> To: Dan Abner
>> Cc: r-help at r-project.org
>> Subject: Re: [R] Warning message about closing a connection XXXX
>>
>>
>> On Jan 4, 2012, at 9:53 AM, Dan Abner wrote:
>>
>>> Hello everyone,
>>>
>>> After running the following code, I obtain this error message.
>>>
>>>
>>>> mydata<- read.table(textConnection(mystring),
>>> +    header=TRUE, sep=",",
>>> +    row.names="id", na.strings=" ")
>>>> mydata
>>> Warning message:
>>> closing unused connection 3 (mystring)
>>>
>>> =====
>>>
>>> However, when I attempt to run read.table() again and immediately
>>> submit
>>> the close() function (below), I obtain this message:
>>>
>>>> close(mystring)
>>> Error in UseMethod("close") :
>>>   no applicable method for 'close' applied to an object of class
>>> "character"
>>> =====
>>>
>>> How can I avoid the warning message altogether?
>>
>> ?closeAllConnections
>>
>> The error message occurs because "mystring was never the connection
>> name.
>>
>> --
>>
>> David Winsemius, MD
>> West Hartford, CT
>>
>> ______________________________________________
>> R-help at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.


-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595



More information about the R-help mailing list