[R] How do I call a masked function in a package without a namespace?
Dirk Koschuetzki
dkoschuetzki at gmx.de
Tue Mar 15 19:20:39 CET 2005
Hello,
I work with two packages sna and graph from CRAN resp. Bioconductor. Both
packages have a function called "degree". Therefore one of the functions
is masked by the other and which one gets called depends on the order of
loading. The problem is that both package do not have a namespace,
therefore calling the masked function with "package::degree" does not
work. See the following transcript:
$ R --vanilla
[[ Running on Debian Sarge ]]
R : Copyright 2004, The R Foundation for Statistical Computing
Version 2.0.1 (2004-11-15), ISBN 3-900051-07-0
[...]
> library("sna")
> library("graph")
Loading required package: cluster
Loading required package: Ruuid
Creating a new generic function for "print" in "Ruuid"
Loading required package: Biobase
Loading required package: tools
Welcome to Bioconductor
Vignettes contain introductory material. To view,
simply type: openVignette()
For details on reading vignettes, see
the openVignette help page.
> conflicts()
[1] "last.warning" "degree" "body<-" "print" "split"
[6] "union"
> sna::degree()
Error in loadNamespace(name) : package 'sna' does not have a name space
> graph::degree()
Error in loadNamespace(name) : package 'graph' does not have a name space
> sna:::degree
Error in loadNamespace(name) : package 'sna' does not have a name space
> graph:::degree
Error in loadNamespace(name) : package 'graph' does not have a name space
Is there a way to call the masked function via a different way?
And I wold like to create my own function degree which will of course
masked both functions and should therefore be able to call both functions.
Thanks for any hint!
Cheers,
Dirk
More information about the R-help
mailing list