[Rd] Detecting typo in function argument

Uwe Ligges ligges at statistik.tu-dortmund.de
Mon Dec 12 22:24:37 CET 2011


This is valid syntax, so what should we check for?.

Uwe


On 12.12.2011 22:10, John C Nash wrote:
> With some chagrin after spending a couple of hours trying to debug a script, I realized I
> had typed in something like
>
> ans<-optimx(start, myfn, mygr, lower<-lo, upper=up)
>
> that is, the "<-" rather than "=". The outcome on my machine was a non-obvious error
> several layers deep in the call stack. For info, optim() seems to stop much more quickly.
>
> The error is "obvious", but I'm wondering if there is a simple way to trap or warn of it.
> For completeness, I include the commands I used to force the error. Note that it will only
> work fully with the latest (R-forge) version of optimx/optfntools because of the form of
> gr="gfwd" that allows a choice of different numerical gradient routines.
>
> This is a curiosity rather than a necessity, but if there is a simple way to check, I'll
> put it in my codes.
>
> Cheers,
>
> JN
>
> rm(list=ls())
> start<-rep(3,6)
> lo<-rep(2,6)
> up<-rep(4,6)
> flb<- function(x)
>      { p<- length(x); sum(c(1, rep(4, p-1)) * (x - c(1, x[-p])^2)^2) }
> ans<-optim(start, flb, lower=lo, upper=up)
> ans
> ans<-optim(start, flb, lower<-lo, upper=up)
> ans
> ans1<-optim(start, flb, lower<-lo, upper=up)
> ans1
> require(optimx)
> ans1x<-optimx(start, flb, lower<-lo, upper=up)
> ans1x<-optimx(start, flb, gr="gfwd",lower<-lo, upper=up)
> ans1<-optim(start, flb, gr=NULL,lower<-lo, upper=up)
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel



More information about the R-devel mailing list