# Some environment vector
vec_env <- seq(-2, 2)
# Shape function
expr <- expression(
cmax * exp(
- exp(rho * (x - xopt) - 6) -
sigmagaus * (x - xopt)^2
))
# Theta
theta <- c(cmax = 1, xopt = 0.9, rho = 8, sigmagaus = 0.4)
# G, only for cmax and xopt
G <- matrix(c(0.1, 0.01,
0.01, 0.05),
ncol = 2)
# Computing V_plas
rn_vplas(theta = theta,
V_theta = G,
env = vec_env,
shape = expr,
fixed = c(3, 4))
# Note that fixed is set for the third and forth parameters than are not in G
# Note the quite large difference when Bessel's correction is used
rn_vplas(theta = theta,
V_theta = G,
env = vec_env,
shape = expr,
fixed = c(3, 4),
correction = TRUE)
# It is possible to weight the environment, e.g. according to a normal distribution
rn_vplas(theta = theta,
V_theta = G,
env = vec_env,
shape = expr,
fixed = c(3, 4),
wt_env = dnorm(vec_env),
correction = TRUE)
# If a polynomial was used, it is possible to use the linear modeling rather having
# to compute integrals
theta <- c(a = 1.5, b = 0.5, c = -0.5)
X <- cbind(1, vec_env, (vec_env - mean(vec_env))^2)
S <- (10^-4) * diag(3)
rn_vplas(theta = theta, X = X, S = S)
Run the code above in your browser using DataLab