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

John Fox j|ox @end|ng |rom mcm@@ter@c@
Fri Sep 2 23:12:46 CEST 2022


Dear John,

I've used an alternative solution in similar situations, equivalent to 
defining

	thefn <- function(...) myfn(...)

Then only ... needs to be documented as arguments passed down to myfn(). 
Maybe that would work for you too.

Best,
  John

On 2022-09-02 4:22 p.m., J C Nash wrote:
> 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
>>
> 
> ______________________________________________
> R-package-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-package-devel
-- 
John Fox, Professor Emeritus
McMaster University
Hamilton, Ontario, Canada
web: https://socialsciences.mcmaster.ca/jfox/



More information about the R-package-devel mailing list