[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[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 using 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]]
More information about the R-help
mailing list