knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.width = 8, fig.height = 4.5 )
The present article describes briefly how to use pmxploit
from R
.
library(pmxploit) library(knitr) library(tidyverse) theme_set(theme_pmx())
run <- load_nm_run(path = "path/to/my_run_archive.tar.gz")
run <- pmxploit:::EXAMPLERUN
run$info %>% bind_cols() %>% select(run_name, dataset_file, control_stream_file, nodes, nm_version, number_of_subjects, number_of_observations, duration) %>% mutate(duration = as.character(lubridate::as.period(duration))) %>% gather(property, value) %>% kable()
# Estimation steps summary run$estimations %>% map(~ .[c("title", "final_ofv", "minimization", "duration")]) %>% bind_rows(.id= "n_estimation") %>% kable()
kable(run$model$compartments)
run$model$parameters %>% filter(type %in% c("theta", "eta")) %>% select(id, type, name) %>% kable()
kable(run$model$covariates)
run %>% group_by(SEX) %>% plot_observed_profiles(compartment = 2, y_scale = "log", facetted = FALSE)
plot_dv_vs_predictions(run, compartment = 2, predictions = c("PRED", "IPRED")) plot_dv_vs_predictions(run, compartment = 2, predictions = c("PRED", "IPRED"), x_scale = "log", y_scale = "log")
plot_residuals(run, compartment = 2, residuals = "CWRES", idv = c("PRED", "TIME"), reference_value = 2) plot_residuals(run, compartment = 2, residuals = c("CWRES"), type = "histogram")
plot_individual_profiles(run, compartment = 2, ids = 1:4, predictions = c("PRED", "IPRED"), y_scale = "log")
last_estimation <- last(run$estimations) last_estimation$thetas %>% mutate(rse = scales::percent(rse)) %>% kable()
plot_convergence(run, parameters = "theta")
# OMEGA matrix kable(last_estimation$omega_matrix) # OMEGA matrix as a table, with RSE% and IC 95% last_estimation$omega %>% mutate(rse = scales::percent(rse)) %>% kable()
last_estimation$shrinkage %>% mutate(shrinkage = scales::percent(shrinkage)) %>% kable()
summarize_parameters_distributions(run) plot_parameters_distributions(run, parameters = "eta") run %>% group_by(STUD) %>% plot_parameters_distributions(parameters = c("CL", "V1"), type = "boxplot")
summarize_parameters_correlations(run, parameters = "individual") plot_parameters_correlations(run, parameters = "eta", type = "heatmap")
summarize_continuous_covariates(run) plot_continuous_covariates_distributions(run) run %>% group_by(STUD) %>% plot_continuous_covariates_distributions(type = "boxplot")
summarize_covariates_correlations(run) plot_covariates_correlations(run, type = "heatmap") run %>% group_by(STUD) %>% plot_covariates_correlations(type = "scatterplot")
plot_parameters_vs_continuous_covariates(run) plot_parameters_vs_categorical_covariates(run, parameters = c("CL", "V1"))
# Overall QC qc <- quality_criteria(run, predictions = "PRED") # QC by study qc_stud <- run %>% group_by(STUD) %>% quality_criteria(predictions = "PRED") kable(qc$standard) qc_stud %>% select(Study, standard) %>% unnest() %>% kable() # Bias qc_stud %>% select(Study, bias) %>% unnest() %>% mutate(relative_value = scales::percent(relative_value)) %>% rename(`Mean Prediction Error (%)` = relative_value) %>% kable() # Precision qc_stud %>% select(Study, precision) %>% unnest() %>% mutate(relative_value = scales::percent(relative_value)) %>% rename(`Root Mean Square Error (%)` = relative_value) %>% kable()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.