On 1/16/2013 12:26 PM, John Fox wrote:
Dear Duncan and Michael,
My initial reaction is that I'd rather not export these functions from the car
package since the package already has many exported functions and the functions
in question perform low-level operations that won't be of interest to end
users. I recognize, however, the functions (and possibly some others) may be
useful in other packages, such as heplots, so I'll think about this some more.
This is why I wrote directly to R-devel rather than to you. It is
low-level, and doesn't need to be exported.
OTOH, it provides an elegant way to provide Sheffe-type intervals &
ellipses as you do in car::confidenceEllipse,
which I copied.
best,
-Michael
Following up on Michael's subsequent message in this thread, I find the current text in
Sec. 1.6.1 ("Specifying imports and exports") of Writing R Extensions
reasonably clear.
Best,
John
On Wed, 16 Jan 2013 11:40:37 -0500
Duncan Murdoch <murdoch.dun...@gmail.com> wrote:
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
--
Michael Friendly Email: friendly AT yorku DOT ca
Professor, Psychology Dept. & Chair, Quantitative Methods
York University Voice: 416 736-2100 x66249 Fax: 416 736-5814
4700 Keele Street Web: http://www.datavis.ca
Toronto, ONT M3J 1P3 CANADA
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel