[Rd] ":::" operator doesn't work with data object Ecdat:::Crime

Abby Spurdle @purd|e@@ @end|ng |rom gm@||@com
Tue Mar 17 09:22:43 CET 2020


Crime?
(Macavity, Macavity, ..., and when you reach the scene of crime
Macavity's not there...)

I suspect your data objects are like Macavity, they're not there.

I found this in the R Internals 1.17.

Lazy-load databases are loaded into the exports for a package, but not
into the namespace environment itself. Thus they are visible when the
package is attached, and also via the :: operator. This was a
deliberate design decision...

The manual is not explicit about the converse, but implies (I think)
that the converse is true.
(i.e. Non-lazyloaded datasets are not supposed to available via this mechanism).

I didn't check your examples.

Are your examples lazyloaded?
And are they any different from other similar packages/datasets?


>        A different but related issue is that "plm::Crime" says "Error:
> 'Crime' is not an exported object from 'namespace:plm'", even though
> "library(plm); data(Crime); Crime" works.  I would naively think a user
> should be able to compare "Crime" objects documented in different
> packages using the "::" and ":::" operators, even if a package
> maintainer chooses not to "export" data objects.
>        What do you think?



More information about the R-devel mailing list