On 23/12/2009 6:08 PM, p_conno...@slingshot.co.nz wrote:
Quoting Duncan Murdoch <murd...@stats.uwo.ca>:

On 23/12/2009 3:36 PM, p_conno...@slingshot.co.nz wrote:
I can't understand how the plyr package is turning up here:


[...]

I can understand that lattice would be using grid without having that
package loaded, but I can't understand how plyr got there.
One way for this to happen is if you have a copy of a function from plyr
in your global environment.  The functions in plyr reference its
namespace, so you'd get it loaded that way.

I've never loaded the plyr package, except for when I used the reshape
package.  It's possible at that time, I had occasion to use a function
I have of the same name as one in the plyr package, but I would not
have saved a copy of either function in the global environment.

It wouldn't matter if that namespace hadn't become associated somehow
with a function I have somewhere else on the search path (thereby
rendering the function unfindable).
This doesn't make sense.  If the function is on the search path, it
doesn't matter what namespace is associated with it:  you'll find it.

Perhaps I need to be more explicit.  The find() function does indeed
find it, and I can edit it in ESS using the normal C-c C-d sequence.
HOWEVER, when I do args() of it, I get the args of the plyr function
-- even when I've not loaded that package.  Trying to use the function
in code ends up calling the plyr function.

If you have a function with the same name in globalenv() then you'll
have problems.  The simple solution is to remove it (e.g. rm(f)); a
better long term solution is to *never* store anything in your workspace
between sessions.  Start with a clean global environment each time.

I thought I'd found a fix when I specifically loaded plyr and then
detached it with the unload = TRUE argument.  sessionInfo() seems to
show that I had gotten rid of the plyr by namespace, but I still get this:

summarize
function(.data, ...) {
  eval(substitute(data.frame(...)), .data, parent.frame())
}
<environment: namespace:plyr>

Curiouser and curiouser as Alice would say.


And where is that function? find("summarize") should tell you. The fact that it has the plyr namespace as its environment doesn't mean it is stored there.

Duncan Murdoch

______________________________________________
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