Hi Jennifer,

Following your suggestions and after a couple of trial-and-error steps, I believe the syntax is the following:

\code{\link[name_of_package:name_of_Rd_file]{alias_or_text}}

For instance, to link to panel.abline or strip.custom from the lattice package, I used:

\code{\link[lattice:panel.functions]{panel.abline}}
\code{\link[lattice:strip.default]{panel.custom}}

Using this notation I was able to make all warnings disappear upon installation of my package.

Typically, you can extract the name of the Rd file from the ? help page (upper left corner info). But this is not 100% reliable if the maintainer of the package is not consistent in the way (s)he documents the package.

Thanks a lot for your help.

Sebastien


On 7/20/2015 5:45 PM, Jennifer Bryan wrote:
Hi Sebastien,

This note about Rd warnings reminded me that I recently had the same problem. 
So I recreated it and, I think, have found a solution.

I will explain in my specific example to be clear.

I need to link to the docs for the Token2.0 class from the httr package. First 
thing you try:

\code{\link[httr]{Token2.0}}

but then you get the warnings you describe upon installation. As in your case, 
the Token2.0 class doesn’t have it’s own .Rd file but is, rather, documented in 
the topic titled “Token-class”.

Next thing you try:

\code{\link[httr]{Token-class}}

which works, but I don’t like this display text — it doesn’t really make sense 
in the context of *my* documentation.

Finally you do this:

\code{\link[=Token-class]{Token2.0}}

to link to the correct topic but get the desired display text. However, I am no 
longer specifying that this topic is from the httr package, but it seems to 
work.

Maybe someone else can weigh in with more insight about the need / desirability 
of specifying the associated package.

— Jenny

On Jul 20, 2015, at 2:05 PM, sbihorel <sebastien.biho...@cognigencorp.com> 
wrote:

Hi,

Thanks to your suggestions and those of other responders, I was able to get rid 
of the warning messages returned during R CMD check.

However I am still confused by the .Rd file-related warnings I get when we 
install the packages. For instance:

Rd warning: /tmp/some/path/man/pkgC_function_009.Rd:21: missing file link 
"panel.abline"

I typed: \code{\link[lattice]{panel.abline}} on line 21 for the Rd file.

My NAMESPACE file includes:

importFrom(lattice,panel.abline)

Surprisingly, other cross-references to lattice functions also imported using 
importFrom do not generate warning upon installation.

When I consider the full list of function links that generate warnings, it 
looks like all of them are associated with alias rather than name tags in the 
target .Rd file (for instance, panel.abline is documented in a .Rd file with 
\name{panel.functions}).

The CRAN manual is not clear on this point. Is there a specific syntax to use 
to document this types of links?

Thank you again for your time

Sebastien


On 7/15/2015 9:24 AM, Duncan Murdoch wrote:
On 15/07/2015 9:07 AM, sbihorel wrote:
Hi,

I saw a few recent posts on topics related to mine (eg
https://stat.ethz.ch/pipermail/r-package-devel/2015q3/000238.html). It
looks like I need to import more packages in my NAMESPACE, correct?

However, I thought that imports would be recursive, ie imports would
also get the info from dependent packages.
I haven't been following this thread, but the 2nd para above makes it
sound as though an explanation of the NAMESPACE directives would be helpful.

If you say

  importFrom(Hmisc, latex)

it acts as though you have made a copy of the Hmisc::latex function
within your package environment.  (It isn't exported, unless you ask to
export it.)

If you say

  import(Hmisc)

it acts as though you have made copies of every exported function from
Hmisc within your package environment.  This is why we recommend
importing only the functions you need; otherwise your package
environment gets bloated.

No recursive copies are made, unless Hmisc happens to import something
and re-exports it.

When I say "acts as though", I don't mean it literally makes copies; it
implements this in a more efficient way, basically only copying pointers
to those functions -- but from a user point of view, you shouldn't be
able to tell the difference, since you're not allowed to modify
Hmisc::latex.

Duncan Murdoch


Sebastien


On 7/13/2015 9:42 PM, sbihorel wrote:
Hi,

Sorry about the table. It looked good when displayed using a fixed
width font. Let me try to linearize it:

   * pkgA
       o DESCRIPTION:
           + Depends: methods, lattice, grid, gam
           + Imports: Hmisc, survival
       o NAMESPACE:
           + import: lattice, grid, gam, methods
           + importFrom: Hmisc (one function)
   * pkgB
       o DESCRIPTION:
           + Depends: pkgA
           + Imports: <nothing>
       o NAMESPACE:
           + import: pkgA
           + importFrom: <nothing
   * pkgC
       o DESCRIPTION:
           + Depends: methods, pkgB
           + Imports: <nothing>
       o NAMESPACE:
           + import: methods, pkgB
           + importFrom: <nothing

Regarding the export, pkgA, pkgB, and pkgC NAMESPACE files include:
exportPattern("^[^\\.]").

Sebastien


On 7/13/2015 5:36 PM, Seth Wenchel wrote:
Are you exporting the functions from pkgB and pkgC? It's hard to tell
from your table below. The easiest way is to add a comment before
each of the functions in pkgB and pkgC that you want to expose to the
users.

#' @export
foo <- function(){...}

Then run roxygen::roxygenise() to build the NAMESPACE file.

HTH
Seth

On Monday, July 13, 2015, sbihorel
<sebastien.biho...@cognigencorp.com
<mailto:sebastien.biho...@cognigencorp.com>> wrote:

     Hi,

     My group has recently upgraded from a fairly old R version (2.12)
     to the
     R version 3.1.2. In parallel to this upgrade, I am updating our
     custom
     packages to add functionality and also make them compliant to the
     requirements of the new version of R. I would like to ask your
     help with
     respect to warning messages I get when I check and install the
     packages.
     I read the latest version of the manual on writing R extensions,
     try to
     apply the recommendations, but somehow I am not getting things right.
     Hopefully, with your suggestions, I could setup my package
     correctly to
     make these messages stop.

     I apologize but, for confidentiality purpose, I will have to
     partially
     anonymize the information.

     So here is the situation: we have 2 custom packages (let's call them
     pkgB and pkgC). The pkgB package depends on a 3rd package (let's
     call it
     pkgA) that is available on CRAN. The pkgC package depends on
     pkgB, make
     new function available,  and "overwrites" some of the functions
     distributed as part of pkgA. The following table summarizes the
     content
     of the DESCRIPTION and NAMESPACE files of each of these packages.

     package    DESCRIPTION NAMESPACE
                 Depends                       Imports
     import                         importFrom
     pkgA       methods, lattice, grid, gam   Hmisc, survival lattice,
     grid,
     gam, methods    Hmisc
     pkgB       pkgA pkgA
     pkgC       methods, pkgB methods, pkgB

     I do not get any warning when I build, check or install pkgB in our
     linux openSuse environment.

     After successful building pkgC, I run R CMD check on my built for
     pkgC
     but I get a ton of messages under the "checking R code for possible
     problems" section. These notes are related to actual calls to pkgA
     functions (or to one of the function provided by its
     dependencies). Here
     is a subset for illustration and hopefully information.

     * checking R code for possible problems: NOTE
     pkgC_function_001: no visible global function definition
     for"pkgA_function_AAA"
     pkgC_function_001: no visible global function definition
     for"pkgA_function_AAB"
     ...
     pkgC_function_010: no visible global function definition for"xyplot"
     pkgC_function_010: no visible global function definition
     for"panel.xyplot"
     pkgC_function_010: no visible global function definition
     for"panel.abline"
     pkgC_function_010: no visible global function definition
     for"grid.polygon"
     pkgC_function_010: no visible global function definition for"gpar"
     ...

     Now when I try to install the pkgC_0.0.1.tar.gz package, I get the
     following warnings about the content of my documentation Rd
     files. The
     Rd files of pkgC includes links to lattice, grid, or pkgA functions.

     *** installing help indices
        converting help for package âkiwixposedevâ
          finding HTML links ... done
     pkgC_function_001                    html
          pkgC_function_002                    html
     ...
     Rd warning: /tmp/some/path/man/pkgC_function_009.Rd:21: missing file
     link "panel.abline"
     ...
     Rd warning: /tmp/some/path/man/pkgC_function_015.Rd:64: missing file
     link "pkA_function_AAC"
     ...

     I think I need to somehow modify the content of the DESCRIPTION and
     NAMESPACE files for pkgC... but adding various combinations of
     pkA and
     its dependencies gave me others errors about redundancies and
     multiple
     loading of the same packages. So in short, I am kind of lost with the
     new requirements of R 3.1.2 and would greatly appreciate any help or
     suggestions

     Thank you in advance for your time.

     Sebastien Bihorel


             [[alternative HTML version deleted]]

     ______________________________________________
     R-package-devel@r-project.org <javascript:;> mailing list
     https://stat.ethz.ch/mailman/listinfo/r-package-devel

______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel

______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel

Reply via email to