f.linear.plateau: Fitting linear plateau model using multiple initial values

Description Usage Arguments Value Examples

View source: R/f.linear.plateau.R

Description

f.linear.plateau fits linear plateau model using multiple initial values. The multiple initial values are randomly sampled in a "cube" of parameter space. More precisely, linear plateau model assumes y ~ a + b * (x - c) * (x <= c).

Usage

1
2
3
4
5
6
7
f.linear.plateau(
  d,
  start = list(a = 1, b = 1, c = 1),
  plus_minus = 100,
  n.start = 1000,
  msg = FALSE
)

Arguments

d

data frame with two columns (x and y)

start

initial estimate for non-linear least square (default value: list(a = 1, b = 1, c = 1))

plus_minus

radius of random initial values (default: 100)

n.start

total number of initial points considered (default: 1000)

msg

logical flag whether printing progress

Value

f.linear.plateau returns a list of two components (if converged): nls.summary: summary of the fitted model; nls.model: nls object

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
set.seed(4)
x <- rep(1:300, each=4)
a <- 8; b <- 0.05; c <- 100
y <- a + b * (x - c) * (x <= c) +
    rnorm(length(x), sd=0.1)
d <- cbind(x,y)

# a converged example:
ans <- f.linear.plateau(d, start=list(a = 7, b = 0.1, c = 150),
    plus_minus=10, n.start=10, msg=FALSE)

summary(ans$nls.model)

FertBoot documentation built on Feb. 20, 2021, 1:06 a.m.