If I run this: ``` Y = c(10000, 20000, 40000, 80000, 160000, 320000, 640000, 1280000) X = 0:7 plot(Y~X, log='y') model <- lm(log10(Y) ~ X) abline(model) predict(model, data.frame(Y=log10(1000000))) ``` I get a funny answer: ``` 1 2 3 4 5 6 7 8 4.00000 4.30103 4.60206 4.90309 5.20412 5.50515 5.80618 6.10721 Warning message: 'newdata' had 1 row but variables found have 8 rows ``` but: ``` > data.frame(Y=log10(1000000)) Y 1 6 ``` What is the correct use? Thank you
On Mon, Jan 25, 2021 at 3:20 PM Luigi Marongiu <marongiu.lu...@gmail.com> wrote: > > Thanks, I'll check it out. I ran the simulation and I got: > ``` > > t = 1, N = 20,000 > t = 2, N = 40,000 > t = 3, N = 80,000 > t = 4, N = 160,000 > t = 5, N = 320,000 > t = 6, N = 640,000 > t = 7, N = 1,280,000 > ``` > Hence the answer is t=6.{...} but the problem is to get that > fractional value. Would be possible to use some kind of interpolation? > I have the known Xs (the t values), the known Ys (the Nt), I need to > get x when y is 10⁶ > > On Sun, Jan 24, 2021 at 9:40 PM Duncan Murdoch <murdoch.dun...@gmail.com> > wrote: > > > > On 24/01/2021 2:57 p.m., Luigi Marongiu wrote: > > > Hello > > > I am trying to simulate a PCR by running a logistic equation. So I set > > > the function: > > > ``` > > > PCR <- function(initCopy, dupRate, Carry) { > > > ROI_T = initCopy > > > A = array() > > > for (i in 1:45) { > > > ROI_TplusOne <- ROI_T * dupRate * (1 - ROI_T/Carry) > > > A[i] <- ROI_TplusOne > > > ROI_T <- ROI_TplusOne > > > } > > > return(A) > > > } > > > ``` > > > Which returns an array that follows the logistic shape, for instance > > > ``` > > > d <- 2 > > > K <- 10^13 > > > A_0 <- 10000 > > > PCR_array <- PCR(A_0, d, K) > > > plot(PCR_array) > > > ``` > > > Given the formula `ROI_TplusOne <- ROI_T * dupRate * (1 - > > > ROI_T/Carry)`, is it possible to determine at what time point `i` a > > > given threshold is reached? For instance, what fractional value of i > > > returns 1000 000 copies? > > > > There are two answers: > > > > The brute force answer is just to try it and count how far you need to > > go. This is really simple, but really inefficient. > > > > The faster and more elegant way is to solve the recursive relation for > > an explicit solution. You've got a quadratic recurrence relation; > > there's no general solution to those, but there are solutions in special > > cases. See https://math.stackexchange.com/q/3179834 and links therein > > for some hints. > > > > Duncan Murdoch > > > > -- > Best regards, > Luigi -- 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.