-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDerrS.R
More file actions
31 lines (29 loc) · 1.14 KB
/
DerrS.R
File metadata and controls
31 lines (29 loc) · 1.14 KB
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
# Sequential D-error
#
# Function to calculate D-errors if set would be part of design.
# @inheritParams Modfed
# @param set A choice set in which each row is a profile.
# @param des A design matrix in which each row is a profile.
# @param i.cov Inverse of covariance matrix.
# @param n.par Number of parameters.
DerrS <- function(par.draws, set, des, n.alts, i.cov, n.par) {
des.f <- rbind(des, set) # Append of optimal design with new alternatives
info.d <- InfoDes(par = par.draws, des = des.f, n.alts = n.alts)
d.error <- det(info.d + i.cov)^(-1 / n.par)
return(d.error)
}
# Function using Info_des_cpp
DerrS2 <- function(par.draws, set, des, n.alts, i.cov, n.par) {
des.f <- rbind(des, set)
info.d <- InfoDes_cpp(par = par.draws, des = des.f, n_alts = n.alts)
d.error <- det(info.d + i.cov)^(-1 / n.par)
return(d.error)
}
# Function using Info_des_cpp and det_cpp
DerrS3 <- function(par.draws, set, des, n.alts, i.cov, n.par) {
des.f <- rbind(des, set)
info.d <- InfoDes_cpp(par = par.draws, des = des.f, n_alts = n.alts)
#d.error <- det(info.d + i.cov)^(-1 / n.par)
d.error <- det_cpp(info.d + i.cov)^(-1 / n.par)
return(d.error)
}