Dear all, thank you for the explanations, crystal clear now. I'm also officially an idiot. Functions in files in a package belong to that package and not to some other package that happens to appear in the name of said function. Ah, the merits of inheritance (inheriting a complex code base in this case...)
Cheers Joris On Mon, Aug 25, 2014 at 6:49 PM, Berend Hasselman <b...@xs4all.nl> wrote: > > On 25-08-2014, at 16:27, Joris Meys <jorism...@gmail.com> wrote: > > > Dear all, > > > > I initially ran into this problem while rebuilding a package dependent on > > nleqslv. I got the following error: > > > > Error in match.arg(global) : 'arg' must be of length 1 > > > > This didn't occur in previous versions of nleqslv, but did in the current > > one (2.4). I think I pinned the problem down to the following example: > > > > Take two functions: > > > > test <- function(x=c("q","r","s"),global=c("d","e","r","z","q")){ > > x <- match.arg(x) > > global <- match.arg(global) > > return(list(x,global)) > > } > > > > test2 <- function(x=c("q","r","s"),global=c("d","z","q")){ > > test(x=x,global=global) > > } > > > > Can’t the problem easily be avoided by using a slightly modified version > of the test2() function? > > test2 <- function(x=c("q","r","s"),global=c("d","z","q")){ > x <- match.arg(x) > global <- match.arg(global) > test(x=x,global=global) > } > > Then test2() would be calling test() as it was intended to be called. > I’ve tried that and it appears to solve the problem. > > So before calling nleqslv within another function use match.arg on those > arguments with the same name and different defaults. > And (possibly) document that some arguments expect a single value. > > Berend > > -- Joris Meys Statistical consultant Ghent University Faculty of Bioscience Engineering Department of Mathematical Modelling, Statistics and Bio-Informatics tel : +32 9 264 59 87 joris.m...@ugent.be ------------------------------- Disclaimer : http://helpdesk.ugent.be/e-maildisclaimer.php [[alternative HTML version deleted]] ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel