# [R] Failure in predicting parameters

Bert Gunter bgunter@4567 @end|ng |rom gm@||@com
Sun Mar 14 18:29:16 CET 2021

```Do the negative values in your data make any sense? Note that if Fb must be
>0, Fc must be also.

But I have *not* examined your code/equations in detail, so feel free to
ignore if this is irrelevant.

Cheers,
Bert

Bert Gunter

"The trouble with having an open mind is that people keep coming along and
sticking things into it."
-- Opus (aka Berkeley Breathed in his "Bloom County" comic strip )

On Sun, Mar 14, 2021 at 9:46 AM Luigi Marongiu <marongiu.luigi using gmail.com>
wrote:

> Hello,
> I would like to use the Rutledge equation
> (https://pubmed.ncbi.nlm.nih.gov/15601990/) to model PCR data. The
> equation is:
> Fc = Fmax / (1+exp(-(C-Chalf)/k)) + Fb
> I defined the equation and another that subtracts the values from the
> expectations. I used minpack.lm to get the parameters, but I got an
> error:
> ```
>
> > library("minpack.lm")
> > h <- c(120.64, 66.14, 34.87, 27.11, 8.87, -5.8, 4.52, -7.16, -17.39,
> +        -14.29, -20.26, -14.99, -21.05, -20.64, -8.03, -21.56, -1.28,
> 15.01,
> +        75.26, 191.76, 455.09, 985.96, 1825.59, 2908.08, 3993.18, 5059.94,
> +        6071.93, 6986.32, 7796.01, 8502.25, 9111.46, 9638.01, 10077.19,
> +        10452.02, 10751.81, 11017.49, 11240.37, 11427.47, 11570.07,
> 11684.96,
> +        11781.77, 11863.35, 11927.44, 11980.81, 12021.88, 12058.35,
> 12100.63,
> +        12133.57, 12148.89, 12137.09)
> > high <- h[1:45]
> > MaxFluo <- max(high)
> > halfFluo <- MaxFluo/2
> > halfCycle = 27
> > find_slope <- function(X, Y) {
> +   Slope <- c(0)
> +   for (i in 2:length(X)) {
> +     delta_x <- X[i] - X[i-1]
> +     delta_y <- Y[i] - Y[i-1]
> +     Slope[i] <- delta_y/delta_x
> +   }
> +   return(Slope)
> + }
> > slopes <- find_slope(1:45, high)
> >
> > rutledge <- function(m, s, M, B, x) {
> +   divisor = 1 + exp(-1* ((x-m)/s) )
> +   y = (M/divisor) + B
> +   return(y)
> + }
> > rutledge_param <- function(p, x, y) ((p\$M / (1 + exp(-1*(p\$x-p\$m)/p\$s)))
> + p\$B) - y
> >
> >
> > init = rutledge(halfFluo, slopes, MaxFluo, 0, high)
> > points(1:45, init, type="l", col="red")
> > estim <- nls.lm(par = list(m = halfFluo, s = slopes, M = MaxFluo, B =
> high),
> +                 fn = rutledge_param, x = 1:45, y = high)
> Error in nls.lm(par = list(m = halfFluo, s = slopes, M = MaxFluo, B =
> high),  :
>   evaluation of fn function returns non-sensible value!
> ```
>
> Where could the error be?
>
>
> --
> Best regards,
> Luigi
>
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help