It's not formals() that is doing you in. Rather, it is a conspiration between two things: (a) R always displays complex constants as x+yi, even if x is zero and (b) there really is no way to specify complex constants with non-zero real part, i.e. 1+2i is a sum of a real and and imaginary complex constant. You can see the effect already at
> quote(1+2i) 1 + (0+2i) > q <- quote(1+2i) > q[[1]] `+` > q[[2]] [1] 1 > q[[3]] [1] 0+2i > str(q) language 1 + (0+2i) > str(q[[3]]) cplx 0+2i Someone might want to fix this by implementing a full syntax for complex constants, but meanwhile, I think a passable workaround could be > formals(test)$a <- 1+2i > args(test) function (a = 1+2i) NULL > test function (a = 1+2i) { } Or maybe, less sneaky Cplx_1plus2i <- 1+2i test <- function(a = Cplx_1plus2i){} -pd On 19 Jan 2014, at 20:45 , baptiste auguie <baptiste.aug...@gmail.com> wrote: > Dear list, > > I'm facing an issue with the automated documentation of a function using > roxygen2. The function has a complex-valued default argument, which is > picked up by roxygen2 using formals() to generate the corresponding Usage > section of the Rd file. Unfortunately, it appears that formals() reformats > complex numbers. Consider the example below, > > test <- function(a = 1+2i){} > >> args(test) > function (a = 1 + (0+2i)) > NULL >> formals(test) > $a > 1 + (0+2i) > > As a result, R CMD check issues a warning that my Rd file is inconsistent > between Code and Docs. Redefining the function with this syntax (a = 1 + > (0+2i)) doesn't help, as a new 0 gets added to become 1 + (0 + (0+2i)). > > Is this reformatting necessary? > > Regards, > > baptiste > > sessionInfo() > R Under development (unstable) (2013-11-25 r64299) > Platform: x86_64-apple-darwin10.8.0 (64-bit) > > locale: > [1] en_NZ.UTF-8/en_NZ.UTF-8/en_NZ.UTF-8/C/en_NZ.UTF-8/en_NZ.UTF-8 > > attached base packages: > [1] stats graphics grDevices utils datasets methods base > > loaded via a namespace (and not attached): > [1] tools_3.1.0 > > [[alternative HTML version deleted]] > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel -- Peter Dalgaard, Professor, Center for Statistics, Copenhagen Business School Solbjerg Plads 3, 2000 Frederiksberg, Denmark Phone: (+45)38153501 Email: pd....@cbs.dk Priv: pda...@gmail.com ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel