kylebaron / klava

Parameter optimization with mrgsolve
5 stars 0 forks source link

Graft Result Function #2

Open kylebaron opened 6 years ago

kylebaron commented 6 years ago
library(optimhelp)
stopifnot(require(dplyr))
graft_result <- function(p,par) {
  p2 <- as.data.frame.parset(graft(p,par)) %>% 
    dplyr::rename(final = value) %>% dplyr::select(name,final)
  p <- as.data.frame.parset(p) %>% as_data_frame %>% 
    dplyr::rename(initial = value)
  result <- left_join(p,p2,by = "name")
  dplyr::select(result, name, initial, final, everything())
}
as.data.frame.parset <- function(object) {
  n <- names(object)
  v <- as.numeric(object)
  tr <- ifelse(optimhelp:::get_trans(object), "t", "u")
  transf <- optimhelp:::tform(object)
  fx <- ifelse(optimhelp:::estimated(object), "", "*")
  data_frame(name=n,value=v,transf = transf,tr=tr,fx=fx)
}

#+ echo = TRUE, comment = '.'
p <- parset(log_par("CL", 2), 
            log_par("VC", 1), 
            ident_par("FOO", 1), 
            ident_par("CONSTANT",100, fixed = TRUE))

fit <- list(par = c(log(1), log(2), 33))

graft_result(p,fit$par)