Skip to content

Commit 130f83a

Browse files
committed
passing local check
1 parent 38760b6 commit 130f83a

1 file changed

Lines changed: 45 additions & 47 deletions

File tree

R/growthSim.R

Lines changed: 45 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -457,26 +457,22 @@ growthSim <- function(
457457
matched_model <- match.arg(model, models)
458458
gsi <- match.fun(paste0(".gsi_", gsub(" ", "", matched_model)))
459459

460-
if (decay) {
461-
gsid <- function(D = 0, ...) {
462-
return(D - gsi(...))
463-
}
464-
} else {
465-
gsid <- function(D = 0, ...) {
466-
return(0 + gsi(...))
467-
}
468-
}
469-
470460
out <- do.call(rbind, lapply(seq_along(params[[1]]), function(i) {
471461
pars <- lapply(params, function(p) p[i])
472462
e_df <- as.data.frame(rbind(do.call(rbind, lapply(1:n, function(e) {
473-
gs_res <- gsid(D = D, 1:t, pars, noise)
463+
gs_res <- gsi(1:t, pars, noise)
464+
y <- if (decay) {
465+
D - gs_res$y
466+
} else {
467+
gs_res$y
468+
}
474469
iter_data <- data.frame(
475470
"id" = paste0("id_", e), "group" = letters[i], "time" = 1:t,
476-
"y" = gs_res$y, stringsAsFactors = FALSE
471+
"y" = y, stringsAsFactors = FALSE
477472
)
478473
if (returnParams) {
479-
iter_data <- cbind(iter_data, gs_res$pars[rep(1, nrow(iter_data)), ])
474+
iter_data <- cbind(iter_data, gs_res$pars)
475+
iter_data <- iter_data[, -which(colnames(iter_data) == "x")]
480476
}
481477
if (int) {
482478
I_iter <- rnorm(1, mean = pars[["I"]], sd = noise[["I"]])
@@ -499,50 +495,51 @@ growthSim <- function(
499495

500496
#' @keywords internal
501497
#' @noRd
502-
gsi_logistic <- function(x, pars, noise) {
498+
.gsi_logistic <- function(x, pars, noise) {
503499
a_r <- pars[["A"]] + rnorm(1, mean = 0, sd = noise[["A"]])
504500
b_r <- pars[["B"]] + rnorm(1, mean = 0, sd = noise[["B"]])
505501
c_r <- pars[["C"]] + rnorm(1, mean = 0, sd = noise[["C"]])
506502
y <- a_r / (1 + exp((b_r - x) / c_r))
507-
return(list("y" = y, "pars" = data.frame("A" = a_r, "B" = b_r, "C" = c_r)))
503+
return(list("y" = y, "pars" = data.frame("A" = a_r, "B" = b_r, "C" = c_r, "x" = x)))
508504
}
509505

510506
#' @keywords internal
511507
#' @noRd
512-
gsi_logistic4 <- function(x, pars, noise) {
508+
.gsi_logistic4 <- function(x, pars, noise) {
513509
a_r <- pars[["A"]] + rnorm(1, mean = 0, sd = noise[["A"]])
514510
b_r <- pars[["B"]] + rnorm(1, mean = 0, sd = noise[["B"]])
515511
c_r <- pars[["C"]] + rnorm(1, mean = 0, sd = noise[["C"]])
516512
d_r <- pars[["D"]] + rnorm(1, mean = 0, sd = noise[["D"]])
517513
y <- d_r + (a_r - d_r) / (1 + exp((b_r - x) / c_r))
518-
return(list("y" = y, "pars" = data.frame("A" = a_r, "B" = b_r, "C" = c_r, "D" = d_r)))
514+
return(list("y" = y, "pars" = data.frame("A" = a_r, "B" = b_r, "C" = c_r, "D" = d_r, "x" = x)))
519515
}
520516

521517
#' @keywords internal
522518
#' @noRd
523-
gsi_logistic5 <- function(x, pars, noise) {
519+
.gsi_logistic5 <- function(x, pars, noise) {
524520
a_r <- pars[["A"]] + rnorm(1, mean = 0, sd = noise[["A"]])
525521
b_r <- pars[["B"]] + rnorm(1, mean = 0, sd = noise[["B"]])
526522
c_r <- pars[["C"]] + rnorm(1, mean = 0, sd = noise[["C"]])
527523
d_r <- pars[["D"]] + rnorm(1, mean = 0, sd = noise[["D"]])
528524
e_r <- pars[["E"]] + rnorm(1, mean = 0, sd = noise[["E"]])
529525
y <- d_r + ((a_r - d_r) / (1 + exp((b_r - x) / c_r)) ^ e_r)
530-
return(list("y" = y, "pars" = data.frame("A" = a_r, "B" = b_r, "C" = c_r, "D" = d_r, "E" = e_r)))
526+
return(list("y" = y, "pars" = data.frame("A" = a_r, "B" = b_r, "C" = c_r, "D" = d_r, "E" = e_r,
527+
"x" = x)))
531528
}
532529

533530
#' @keywords internal
534531
#' @noRd
535-
gsi_gompertz <- function(x, pars, noise) {
532+
.gsi_gompertz <- function(x, pars, noise) {
536533
a_r <- pars[["A"]] + rnorm(1, mean = 0, sd = noise[["A"]])
537534
b_r <- pars[["B"]] + rnorm(1, mean = 0, sd = noise[["B"]])
538535
c_r <- pars[["C"]] + rnorm(1, mean = 0, sd = noise[["C"]])
539536
y <- a_r * exp(-b_r * exp(-c_r * x))
540-
return(list("y" = y, "pars" = data.frame("A" = a_r, "B" = b_r, "C" = c_r)))
537+
return(list("y" = y, "pars" = data.frame("A" = a_r, "B" = b_r, "C" = c_r, "x" = x)))
541538
}
542539

543540
#' @keywords internal
544541
#' @noRd
545-
gsi_doublelogistic <- function(x, pars, noise) {
542+
.gsi_doublelogistic <- function(x, pars, noise) {
546543
a_r <- pars[["A"]] + rnorm(1, mean = 0, sd = noise[["A"]])
547544
b_r <- pars[["B"]] + rnorm(1, mean = 0, sd = noise[["B"]])
548545
c_r <- pars[["C"]] + rnorm(1, mean = 0, sd = noise[["C"]])
@@ -551,12 +548,12 @@ gsi_doublelogistic <- function(x, pars, noise) {
551548
c2_r <- pars[["C2"]] + rnorm(1, mean = 0, sd = noise[["C2"]])
552549
y <- a_r / (1 + exp((b_r - x) / c_r)) + ((a2_r - a_r) / (1 + exp((b2_r - x) / c2_r)))
553550
return(list("y" = y, "pars" = data.frame("A" = a_r, "B" = b_r, "C" = c_r,
554-
"A2" = a2_r, "B2" = b2_r, "C2" = c2_r)))
551+
"A2" = a2_r, "B2" = b2_r, "C2" = c2_r, "x" = x)))
555552
}
556553

557554
#' @keywords internal
558555
#' @noRd
559-
gsi_doublegompertz <- function(x, pars, noise) {
556+
.gsi_doublegompertz <- function(x, pars, noise) {
560557
a_r <- pars[["A"]] + rnorm(1, mean = 0, sd = noise[["A"]])
561558
b_r <- pars[["B"]] + rnorm(1, mean = 0, sd = noise[["B"]])
562559
c_r <- pars[["C"]] + rnorm(1, mean = 0, sd = noise[["C"]])
@@ -565,115 +562,116 @@ gsi_doublegompertz <- function(x, pars, noise) {
565562
c2_r <- pars[["C2"]] + rnorm(1, mean = 0, sd = noise[["C2"]])
566563
y <- (a_r * exp(-b_r * exp(-c_r * x))) + ((a2_r - a_r) * exp(-b2_r * exp(-c2_r * (x - b_r))))
567564
return(list("y" = y, "pars" = data.frame("A" = a_r, "B" = b_r, "C" = c_r,
568-
"A2" = a2_r, "B2" = b2_r, "C2" = c2_r)))
565+
"A2" = a2_r, "B2" = b2_r, "C2" = c2_r, "x" = x)))
569566
}
570567

571568
#' @keywords internal
572569
#' @noRd
573-
gsi_monomolecular <- function(x, pars, noise) {
570+
.gsi_monomolecular <- function(x, pars, noise) {
574571
a_r <- pars[["A"]] + rnorm(1, mean = 0, sd = noise[["A"]])
575572
b_r <- pars[["B"]] + rnorm(1, mean = 0, sd = noise[["B"]])
576573
y <- a_r - a_r * exp(-b_r * x)
577-
return(list("y" = y, "pars" = data.frame("A" = a_r, "B" = b_r)))
574+
return(list("y" = y, "pars" = data.frame("A" = a_r, "B" = b_r, "x" = x)))
578575
}
579576

580577
#' @keywords internal
581578
#' @noRd
582-
gsi_exponential <- function(x, pars, noise) {
579+
.gsi_exponential <- function(x, pars, noise) {
583580
a_r <- pars[["A"]] + rnorm(1, mean = 0, sd = noise[["A"]])
584581
b_r <- pars[["B"]] + rnorm(1, mean = 0, sd = noise[["B"]])
585582
y <- a_r * exp(b_r * x)
586-
return(list("y" = y, "pars" = data.frame("A" = a_r, "B" = b_r)))
583+
return(list("y" = y, "pars" = data.frame("A" = a_r, "B" = b_r, "x" = x)))
587584
}
588585

589586
#' @keywords internal
590587
#' @noRd
591-
gsi_linear <- function(x, pars, noise) {
588+
.gsi_linear <- function(x, pars, noise) {
592589
a_r <- pars[["A"]] + rnorm(1, mean = 0, sd = noise[["A"]])
593590
y <- a_r * x
594-
return(list("y" = y, "pars" = data.frame("A" = a_r)))
591+
return(list("y" = y, "pars" = data.frame("A" = a_r, "x" = x)))
595592
}
596593

597594
#' @keywords internal
598595
#' @noRd
599-
gsi_powerlaw <- function(x, pars, noise) {
596+
.gsi_powerlaw <- function(x, pars, noise) {
600597
a_r <- pars[["A"]] + rnorm(1, mean = 0, sd = noise[["A"]])
601598
b_r <- pars[["B"]] + rnorm(1, mean = 0, sd = noise[["B"]])
602599
y <- a_r * x^(b_r)
603-
return(list("y" = y, "pars" = data.frame("A" = a_r, "B" = b_r)))
600+
return(list("y" = y, "pars" = data.frame("A" = a_r, "B" = b_r, "x" = x)))
604601
}
605602

606603
#' @keywords internal
607604
#' @noRd
608-
gsi_logarithmic <- function(x, pars, noise) {
605+
.gsi_logarithmic <- function(x, pars, noise) {
609606
a_r <- pars[["A"]] + rnorm(1, mean = 0, sd = noise[["A"]])
610607
y <- a_r * log(x)
611-
return(list("y" = y, "pars" = data.frame("A" = a_r)))
608+
return(list("y" = y, "pars" = data.frame("A" = a_r, "x" = x)))
612609
}
613610

614611
#' @keywords internal
615612
#' @noRd
616-
gsi_frechet <- function(x, pars, noise) {
613+
.gsi_frechet <- function(x, pars, noise) {
617614
a_r <- pars[["A"]] + rnorm(1, mean = 0, sd = noise[["A"]])
618615
b_r <- max(c(0, pars[["B"]] + rnorm(1, mean = 0, sd = noise[["B"]])))
619616
c_r <- max(c(0, pars[["C"]] + rnorm(1, mean = 0, sd = noise[["C"]])))
620617
# holding location to 0, b is shape parameter, c is scale (growth rate)
621618
y <- a_r * exp(-((x - 0) / c_r)^(-b_r))
622-
return(list("y" = y, "pars" = data.frame("A" = a_r, "B" = b_r, "C" = c_r)))
619+
return(list("y" = y, "pars" = data.frame("A" = a_r, "B" = b_r, "C" = c_r, "x" = x)))
623620
}
624621

625622
#' @keywords internal
626623
#' @noRd
627-
gsi_gumbel <- function(x, pars, noise) {
624+
.gsi_gumbel <- function(x, pars, noise) {
628625
a_r <- pars[["A"]] + rnorm(1, mean = 0, sd = noise[["A"]])
629626
b_r <- pars[["B"]] + rnorm(1, mean = 0, sd = noise[["B"]])
630627
c_r <- pars[["C"]] + rnorm(1, mean = 0, sd = noise[["C"]])
631628
# b is location, c is scale (rate)
632629
y <- a_r * exp(-exp(-(x - b_r) / c_r))
633-
return(list("y" = y, "pars" = data.frame("A" = a_r, "B" = b_r, "C" = c_r)))
630+
return(list("y" = y, "pars" = data.frame("A" = a_r, "B" = b_r, "C" = c_r, "x" = x)))
634631
}
635632

636633
#' @keywords internal
637634
#' @noRd
638-
gsi_weibull <- function(x, pars, noise) {
635+
.gsi_weibull <- function(x, pars, noise) {
639636
a_r <- pars[["A"]] + rnorm(1, mean = 0, sd = noise[["A"]])
640637
b_r <- pars[["B"]] + rnorm(1, mean = 0, sd = noise[["B"]])
641638
c_r <- pars[["C"]] + rnorm(1, mean = 0, sd = noise[["C"]])
642639
# c is scale, b is shape
643640
y <- a_r * (1 - exp(-(x / c_r)^b_r))
644-
return(list("y" = y, "pars" = data.frame("A" = a_r, "B" = b_r, "C" = c_r)))
641+
return(list("y" = y, "pars" = data.frame("A" = a_r, "B" = b_r, "C" = c_r, "x" = x)))
645642
}
646643

647644
#' @keywords internal
648645
#' @noRd
649-
gsi_bragg <- function(x, pars, noise) {
646+
.gsi_bragg <- function(x, pars, noise) {
650647
a_r <- pars[["A"]] + rnorm(1, mean = 0, sd = noise[["A"]])
651648
b_r <- pars[["B"]] + rnorm(1, mean = 0, sd = noise[["B"]])
652649
c_r <- pars[["C"]] + rnorm(1, mean = 0, sd = noise[["C"]])
653650
# a is max response, b is precision, c is x position of max response
654651
y <- a_r * exp(-b_r * (x - c_r)^2)
655-
return(list("y" = y, "pars" = data.frame("A" = a_r, "B" = b_r, "C" = c_r)))
652+
return(list("y" = y, "pars" = data.frame("A" = a_r, "B" = b_r, "C" = c_r, "x" = x)))
656653
}
657654

658655
#' @keywords internal
659656
#' @noRd
660-
gsi_lorentz <- function(x, pars, noise) {
657+
.gsi_lorentz <- function(x, pars, noise) {
661658
a_r <- pars[["A"]] + rnorm(1, mean = 0, sd = noise[["A"]])
662659
b_r <- pars[["B"]] + rnorm(1, mean = 0, sd = noise[["B"]])
663660
c_r <- pars[["C"]] + rnorm(1, mean = 0, sd = noise[["C"]])
664661
# a is max response, b is precision, c is x position of max response
665662
y <- a_r / (1 + b_r * (x - c_r)^2)
666-
return(list("y" = y, "pars" = data.frame("A" = a_r, "B" = b_r, "C" = c_r)))
663+
return(list("y" = y, "pars" = data.frame("A" = a_r, "B" = b_r, "C" = c_r, "x" = x)))
667664
}
668665

669666
#' @keywords internal
670667
#' @noRd
671-
gsi_beta <- function(x, pars, noise) {
668+
.gsi_beta <- function(x, pars, noise) {
672669
a_r <- pars[["A"]] + rnorm(1, mean = 0, sd = noise[["A"]])
673670
b_r <- pars[["B"]] + rnorm(1, mean = 0, sd = noise[["B"]])
674671
c_r <- pars[["C"]] + rnorm(1, mean = 0, sd = noise[["C"]])
675672
d_r <- pars[["D"]] + rnorm(1, mean = 0, sd = noise[["D"]])
676673
e_r <- pars[["E"]] + rnorm(1, mean = 0, sd = noise[["E"]])
677674
y <- a_r * (((x - d_r) / (c_r - d_r)) * ((e_r - x) / (e_r - c_r))^((e_r - c_r) / (c_r - d_r)))^b_r
678-
return(list("y" = y, "pars" = data.frame("A" = a_r, "B" = b_r, "C" = c_r, "D" = d_r, "E" = e_r)))
675+
return(list("y" = y, "pars" = data.frame("A" = a_r, "B" = b_r, "C" = c_r, "D" = d_r, "E" = e_r,
676+
"x" = x)))
679677
}

0 commit comments

Comments
 (0)