[R-pkg-devel] Advice on elegant way to alias function name

J C Nash pro|jcn@@h @end|ng |rom gm@||@com
Fri Sep 2 22:22:33 CEST 2022


With some playing around I found a workable solution.

- NAMESPACE needs  export(thefn)
- thefn.Rd needs usage and arguments documented
- myfn.Rd must NOT have alias(thefn)

And I believe I've got the roxygen2 tags to work in Rstudio. In R itself,
roxygen2 gives an error
     Error: invalid version specification ‘0.68’
though the string '0.68' appears nowhere in my package according to grep.
I have no idea what this is about, especially as Rstudio works fine.

While I like the idea of documentation in code files, I think I'll go
back to separately created .Rd files.

If anyone is interested, package and README are at
https://gitlab.com/nashjc/nlsr2022

Best,

John Nash


On 2022-09-01 11:29, Hadley Wickham wrote:
> On Thu, Sep 1, 2022 at 9:48 AM J C Nash <profjcnash using gmail.com> wrote:
>>
>> Hi,
>>
>> I've a package where it has been suggested that one of the functions -- call
>> it "myfn()" -- should be called something else, say "thefn()". Of course, I'll
>> need to keep the old name around for a while.
>>
>> Web search has suggested simple assignment of
>>
>>       thefn <- myfn
>>
>> but I cannot seem to get this to work with R CMD check when I put this in a .R
>> file in the code and put alias and usage stanzas in documentation. I get alias
>> and missing argument type errors. I've tried a number of variations on this theme
>> without appreciable success.
>>
>> A workaround is to copy the entire function with Roxygen2 documentation and
>> name change, but this seems inelegant.
> 
> You'll also need to add a couple of roxygen tags:
> 
> #' @export
> #' @rdname myfn
> thefn <- myfn
> 
> Hadley
>



More information about the R-package-devel mailing list