On 04/01/2012 18:21, Duncan Murdoch wrote:
On 12-01-04 12:25 PM, Prof Brian Ripley wrote:
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).

In older versions that do give the warning, wouldn't it be sufficient to
name the textConnection, and close it explicitly? E.g.

mydata<- read.table(con <- textConnection(mystring), header=TRUE,
sep=",", row.names="id", na.strings=" ")

close(con)

Yes, but you cannot do that retrospectively. I would say this is still good practice.

Duncan Murdoch



Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com

-----Original Message-----
From: r-help-boun...@r-project.org
[mailto:r-help-boun...@r-project.org] On Behalf Of David Winsemius
Sent: Wednesday, January 04, 2012 7:10 AM
To: Dan Abner
Cc: r-help@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@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@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,                  rip...@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

______________________________________________
R-help@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.

Reply via email to