[Rd] Bug in Deriv? (PR#1119)
Peter Dalgaard BSA
p.dalgaard@biostat.ku.dk
07 Oct 2001 12:42:34 +0200
dieter.menne@menne-biomed.de writes:
> deriv seems to have problems with a minus-sign before a bracket.
> Below are four examples of the same function, the top one
> is wrong, all others are correct (hopefully).
>
>
> Rest of expression not shown, it is the same for all versions.
>
> _
> platform i386-pc-mingw32
> arch x86
> os Win32
> system x86, Win32
> status
> major 1
> minor 3.0
> year 2001
> month 06
> day 22
> language R
>
> -----------------------------------------------------------------
> > deriv(~offv+Asym/(1+exp(-(x-xmid)/scal)),"x")
> expression({
> .expr4 <- exp(-x - xmid/scal) #### Wrong !!!!
Actually, only the deparsing of the expression is wrong, cf:
> deriv(~offv+Asym/(1+exp(-(x-xmid)/scal)),"x")[[1]][[2]][[3]]
exp(-x - xmid/scal)
> deriv(~offv+Asym/(1+exp(-(x-xmid)/scal)),"x")[[1]][[2]][[3]][[2]]
-x - xmid/scal
> deriv(~offv+Asym/(1+exp(-(x-xmid)/scal)),"x")[[1]][[2]][[3]][[2]][[2]]
-x - xmid
> deriv(~offv+Asym/(1+exp(-(x-xmid)/scal)),"x")[[1]][[2]][[3]][[2]][[2]][[2]]
x - xmid
I.e. the expression is really exp((-(x - xmid))/scal). It is a
well-known problem with the deparser that it doesn't parenthesize
properly based on operator hierarchy. Similarly, the parser should
probably drop parentheses in most cases.
--
O__ ---- Peter Dalgaard Blegdamsvej 3
c/ /'_ --- Dept. of Biostatistics 2200 Cph. N
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard@biostat.ku.dk) FAX: (+45) 35327907
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-devel-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._