R/qa_added_structural_param.R

Defines functions added_structural_param

Documented in added_structural_param

#' Get number of added parameters to the idv_varying_theta model in the resmod_results.csv file.
#'
#' @param directory A path to the qa run directory.
#' @param idv A string vector of all possible idv names for the specific qa run.
#' @param dvid A dvid value. By default="NA"
#'
#' @return A numeric value of added parameters to the idv_varying_theta model.
#' If file resmod_results.csv does not exist or all parameter values are missing then added_param will be set to empty character.
#' @export
added_structural_param <- function(directory, idv, dvid="NA") {
  resmod_table_list <- get_resmod_table(directory, idv)
  resmod_file_exists <- resmod_table_list$resmod_file_exists
  if(resmod_file_exists) {
    resmod_table <- resmod_table_list$resmod_table
    if(dvid=='NA') {
      parameters <- resmod_table %>%
        dplyr::filter(model=="idv_varying_theta")
    } else {
      parameters <- resmod_table %>%
        dplyr::filter(dvid==!!dvid,model=="idv_varying_theta")
    }
    if(!is.na(parameters$parameters) && parameters$parameters != "NA") {
      added_param <- data.frame(str=unlist(stringr::str_split(parameters$parameters, ","))) %>%
        tidyr::separate(str, c("variable", "value"), "=" ) %>%
        dplyr::filter(!grepl("_", variable)) %>%
        dplyr::select(value) %>%
        unique() %>%
        nrow()
    } else {
      added_param <- ""
    }
  } else {
    added_param <- ""
  }
  return(added_param)
}
UUPharmacometrics/PsNR documentation built on June 30, 2023, 8:34 a.m.