plotting.profile: Plot Calculated Profiles

Description Usage Arguments Value Examples

View source: R/plot_profile_function.R

Description

Plots the previously calculated profiles of create.profile.

Usage

1
plotting.profile(which.par, homedir = getwd(), conf.level = 0.95, ...)

Arguments

which.par

Name of the parameter that a profile should be obtained for. If multiple profiles are supposed to be calculated, a vector can be passed along as well. Alternatively, supplying "all.par" calculates the profiles for all available parameters.

homedir

The directory to which the results should be saved to. Default to getwd().

conf.level

The confidence level used for calculating the confidence intervals. Default to 0.95.

...

Additional arguments that can be passed on to plot.

Value

Plots the profiles and returns the confidence intervals

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#' #create data with standard deviation of 1
x.values <- 1:7
y.values <-  9 * x.values^2 - exp(2 * x.values)
sd.y.values <- rep(1,7)

#define initial parameter values
inits <- c(p1 = 3, p2 = 4, p3 = -2, p4 = 2, p5 = 0)

#define cost function that returns the negative log-likelihood
cost_function <- function(parms, x.vals, y.vals, sd.y){
  # restrict the search range to -5 to +5
  if(max(abs(parms)) > 5){
    return(NA)
  }
  with(as.list(c(parms)), {
    res <- p1*4 + p2*x.vals + p3^2*x.vals^2 + p4*sin(x.vals)  - exp(p5*x.vals)
    diff <- sum((res - y.vals)^2/sd.y)
  })
}

#perform model selection
res <- create.profile(which.par = "all.par",
                      par.names = inits,
                      range = list(seq(0, 2, 0.1),
                                 seq(0, 5, 1),
                                 seq(2.9, 3.1, 0.01),
                                 seq(0, 3, 0.1),
                                 seq(1.999999, 2.000001, 0.0000001)),
                      fit.fn = cost_function,
                      optim.runs = 1,
                      delete.old = TRUE,
                      x.vals = x.values,
                      y.vals = y.values,
                      sd.y = sd.y.values)

plotting.profile("all.par")

GabelHub/ProfileIroning documentation built on May 17, 2019, 12:49 p.m.