On 13-01-16 11:25 AM, Michael Friendly wrote:
A new function in my heplots package wants to use a non-exported utility
function in the car package,
df.terms, but this depends on other non-exported functions.
From the Writing R extensions manual, I thought I could do this via (in
my NAMESPACE)
importFrom(car, car:::df.terms, car:::df.terms.default, car:::is.aliased)
but I get:
** preparing package for lazy loading
Error : objects 'car:::df.terms', 'car:::df.terms.default',
'car:::is.aliased' are not exported by 'namespace:car'
ERROR: lazy loading failed for package 'heplots'
\S 1.6.1 of the manual says regarding importFrom():
Using |foo:::f| instead of |foo::f| allows access to unexported objects.
This is generally not recommended, as the semantics of unexported
objects may be changed by the package author in routine maintenance.
Questions:
1. Why doesn't this work?
I think you misread the manual. It is talking about ways to access
functions other than by using importFrom. You can use car:::df.terms in
your functions.
2. Is my only alternative to copy these functions to my package, also
unexported?
Using car:::df.terms explicitly is another option.
Another possibility is for the car maintainer (John Fox) to export that
function from car.
Duncan Murdoch
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel