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.lu...@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[1]),
> +                 fn = rutledge_param, x = 1:45, y = high)
> Error in nls.lm(par = list(m = halfFluo, s = slopes, M = MaxFluo, B =
> high[1]),  :
>   evaluation of fn function returns non-sensible value!
> ```
>
> Where could the error be?
>
>
> --
> Best regards,
> Luigi
>
> ______________________________________________
> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to