Learn R Programming

pharmr is an R wrapper to Pharmpy: an open-source software package for pharmacometric modeling. It provides an R interface to all functions found in the modeling and tools modules (documented here). The documentation for each function is also available via the help-function (or ?).

For comprehensive information and documentation, see: https://pharmpy.github.io

Installation and setup

Install from CRAN

The latest stable version of pharmr is available via CRAN, and can be installed via:

install.packages("pharmr")

After installing pharmr, Pharmpy needs to be set up:

pharmr::install_pharmpy()

For a more comprehensive description of the process of setting up, see the following guide.

Install from GitHub

It is also possible to install the development version of pharmr from GitHub, with the following command:

remotes::install_github("pharmpy/pharmr", ref="main")

Pharmpy can then be installed:

pharmr::install_pharmpy()

Using pharmr

>>> library(pharmr)
>>> model <- load_example_model("pheno")
>>> model$parameters
            value  lower upper    fix
POP_CL   0.004693   0.00     ∞  False
POP_VC   1.009160   0.00     ∞  False
COVAPGR  0.100000  -0.99     ∞  False
IIV_CL   0.030963   0.00     ∞  False
IIV_VC   0.031128   0.00     ∞  False
SIGMA    0.013086   0.00     ∞  False
>>> res <- load_example_modelfit_results("pheno")
>>> res$parameter_estimates
    POP_CL     POP_VC    COVAPGR     IIV_CL     IIV_VC      SIGMA 
0.00469555 0.98425800 0.15892000 0.02935080 0.02790600 0.01324100 
>>>

A simple example of reading a model, performing a simple transformation, and running the model in NONMEM. Note that you need NONMEM installed to be able to fit the model, see the following guide on how to set up the config file.

model <- load_example_model('pheno') |>
  add_peripheral_compartment()
 
res <- fit(model)

Copy Link

Version

Install

install.packages('pharmr')

Monthly Downloads

368

Version

2.2.0

License

LGPL (>= 3)

Issues

Pull Requests

Stars

Forks

Maintainer

Rikard Nordgren

Last Published

August 31st, 2026

Functions in pharmr (2.2.0)

add_predictions

add_predictions
add_time_of_last_dose

add_time_of_last_dose
calculate_cov_from_prec

calculate_cov_from_prec
calculate_bic

calculate_bic
add_iiv

add_iiv
add_indirect_effect

add_indirect_effect
annotate_unit

annotate_unit
calculate_epsilon_gradient_expression

calculate_epsilon_gradient_expression
bump_model_number

bump_model_number
add_time_after_dose

add_time_after_dose
add_residuals

add_residuals
broadcast_log

broadcast_log
calculate_corr_from_prec

calculate_corr_from_prec
add_observations

add_observations
append_estimation_step_options

append_estimation_step_options
binarize_dataset

binarize_dataset
add_pk_iiv

add_pk_iiv
calculate_individual_shrinkage

calculate_individual_shrinkage
calculate_individual_parameter_statistics

calculate_individual_parameter_statistics
calculate_se_from_cov

calculate_se_from_cov
calculate_se_from_prec

calculate_se_from_prec
calculate_aic

calculate_aic
calculate_pk_parameters_statistics

calculate_pk_parameters_statistics
calculate_parameters_from_ucp

calculate_parameters_from_ucp
calculate_cov_from_corrse

calculate_cov_from_corrse
check_setup

Checks setup of Pharmpy/pharmr
convert_model

convert_model
check_high_correlations

check_high_correlations
cleanup_model

cleanup_model
calculate_eta_shrinkage

calculate_eta_shrinkage
calculate_eta_gradient_expression

calculate_eta_gradient_expression
check_dataset

check_dataset
calculate_corr_from_cov

calculate_corr_from_cov
check_parameters_near_bounds

check_parameters_near_bounds
check_pharmpy

Checks version of Pharmpy/pharmr
create_basic_pd_model

create_basic_pd_model
create_datainfo

create_datainfo
create_config_template

create_config_template
calculate_summary_statistic

calculate_summary_statistic
calculate_prec_from_corrse

calculate_prec_from_corrse
create_joint_distribution

create_joint_distribution
create_dataset_from_design

create_dataset_from_design
create_report

create_report
calculate_prec_from_cov

calculate_prec_from_cov
convert_unit

convert_unit
calculate_ucp_scale

calculate_ucp_scale
cholesky_decompose

cholesky_decompose
create_rng

create_rng
evaluate_epsilon_gradient

evaluate_epsilon_gradient
expand_additional_doses

expand_additional_doses
filter_dataset

filter_dataset
deidentify_data

deidentify_data
display_odes

display_odes
drop_dropped_columns

drop_dropped_columns
evaluate_weighted_residuals

evaluate_weighted_residuals
drop_columns

drop_columns
evaluate_population_prediction

evaluate_population_prediction
fit

fit
evaluate_eta_gradient

evaluate_eta_gradient
find_volume_parameters

find_volume_parameters
get_config_path

get_config_path
create_basic_kpd_model

create_basic_kpd_model
evaluate_individual_prediction

evaluate_individual_prediction
evaluate_expression

evaluate_expression
find_clearance_parameters

find_clearance_parameters
get_covariate_baselines

get_covariate_baselines
fix_or_unfix_parameters

fix_or_unfix_parameters
fix_parameters

fix_parameters
create_basic_pk_model

create_basic_pk_model
get_baselines

get_baselines
create_trial_design

create_trial_design
create_symbol

create_symbol
get_concentration_parameters_from_data

get_concentration_parameters_from_data
export_model_files

export_model_files
get_column_name

get_column_name
get_bioavailability

get_bioavailability
get_admid

get_admid
fix_parameters_to

fix_parameters_to
get_individual_prediction_expression

get_individual_prediction_expression
get_individual_parameters

get_individual_parameters
get_doses

get_doses
get_nested_model

get_nested_model
get_initial_conditions

get_initial_conditions
get_evid

get_evid
get_cmt

get_cmt
get_lag_times

get_lag_times
get_model_covariates

get_model_covariates
get_central_volume_and_clearance

get_central_volume_and_clearance
get_doseid

get_doseid
get_number_of_peripheral_compartments

get_number_of_peripheral_compartments
get_number_of_transit_compartments

get_number_of_transit_compartments
get_covariate_effects

get_covariate_effects
get_dv_symbol

get_dv_symbol
get_rv_parameters

get_rv_parameters
get_population_prediction_expression

get_population_prediction_expression
get_ids

get_ids
get_number_of_individuals

get_number_of_individuals
get_observation_expression

get_observation_expression
get_number_of_observations_per_individual

get_number_of_observations_per_individual
get_pk_parameters

get_pk_parameters
has_first_order_elimination

has_first_order_elimination
has_first_order_absorption

has_first_order_absorption
get_number_of_observations

get_number_of_observations
get_pd_parameters

get_pd_parameters
get_observations

get_observations
has_combined_error_model

has_combined_error_model
get_mu_connected_to_parameter

get_mu_connected_to_parameter
has_random_effect

has_random_effect
has_proportional_error_model

has_proportional_error_model
get_thetas

get_thetas
get_sigmas

get_sigmas
get_unit_of

get_unit_of
get_zero_order_inputs

get_zero_order_inputs
has_seq_zo_fo_absorption

has_seq_zo_fo_absorption
has_weibull_absorption

has_weibull_absorption
has_instantaneous_absorption

has_instantaneous_absorption
greekify_model

greekify_model
get_mdv

get_mdv
get_omegas

get_omegas
has_linear_odes

has_linear_odes
get_model_code

get_model_code
has_linear_odes_with_real_eigenvalues

has_linear_odes_with_real_eigenvalues
has_michaelis_menten_elimination

has_michaelis_menten_elimination
has_mixed_mm_fo_elimination

has_mixed_mm_fo_elimination
has_zero_order_elimination

has_zero_order_elimination
infer_datatypes

infer_datatypes
has_mu_reference

has_mu_reference
has_covariate_effect

has_covariate_effect
has_weighted_error_model

has_weighted_error_model
has_zero_order_absorption

has_zero_order_absorption
has_odes

has_odes
get_parameter_rv

get_parameter_rv
load_dataset

load_dataset
install_pharmpy_devel

Install Pharmpy (with specified version)
is_binary

is_binary
is_simulation_model

is_simulation_model
plot_eta_distributions

plot_eta_distributions
is_strictness_fulfilled

is_strictness_fulfilled
has_additive_error_model

has_additive_error_model
map_eta_parameters

map_eta_parameters
mu_reference_model

mu_reference_model
make_declarative

make_declarative
load_example_modelfit_results

load_example_modelfit_results
plot_iofv_vs_iofv

plot_iofv_vs_iofv
omit_data

omit_data
open_context

open_context
load_example_model

load_example_model
insert_ebes_into_dataset

insert_ebes_into_dataset
has_presystemic_metabolite

has_presystemic_metabolite
print_fit_summary

print_fit_summary
print_log

print_log
plot_dv_vs_ipred

plot_dv_vs_ipred
is_linearized

is_linearized
plot_cwres_vs_idv

plot_cwres_vs_idv
install_pharmpy

Install Pharmpy
print_pharmpy_version

Print pharmpy version
read_datainfo

read_datainfo
plot_individual_predictions

plot_individual_predictions
read_model

read_model
read_dataset_from_datainfo

read_dataset_from_datainfo
remove_parameter_uncertainty_step

remove_parameter_uncertainty_step
plot_vpc

plot_vpc
remove_estimation_step

remove_estimation_step
remove_derivative

remove_derivative
predict_outliers

predict_outliers
predict_influential_outliers

predict_influential_outliers
remove_lag_time

remove_lag_time
list_time_varying_covariates

list_time_varying_covariates
list_models

list_models
plot_abs_cwres_vs_ipred

plot_abs_cwres_vs_ipred
remove_loq_data

remove_loq_data
print_model_code

print_model_code
is_real

is_real
remove_covariate_effect

remove_covariate_effect
remove_error_model

remove_error_model
remove_unused_parameters_and_rvs

remove_unused_parameters_and_rvs
remove_unused_columns

remove_unused_columns
plot_transformed_eta_distributions

plot_transformed_eta_distributions
predict_influential_individuals

predict_influential_individuals
print_model_symbols

print_model_symbols
rename_symbols

rename_symbols
read_model_from_string

read_model_from_string
run_allometry

run_allometry
replace_fixed_thetas

replace_fixed_thetas
remove_iiv

remove_iiv
read_modelfit_results

read_modelfit_results
plot_dv_vs_pred

plot_dv_vs_pred
remove_peripheral_compartment

remove_peripheral_compartment
remove_iov

remove_iov
run_modelsearch

run_modelsearch
remove_residuals

remove_residuals
reset_index

Reset index
reset_dataset

reset_dataset
run_amd

run_amd
read_results

read_results
retrieve_model

retrieve_model
run_bootstrap

run_bootstrap
retrieve_modelfit_results

retrieve_modelfit_results
run_covsearch

run_covsearch
remove_bioavailability

remove_bioavailability
run_tool

run_tool
run_modelrank

run_modelrank
remove_predictions

remove_predictions
run_iovsearch

run_iovsearch
run_iivsearch

run_iivsearch
run_simulation

run_simulation
replace_non_random_rvs

replace_non_random_rvs
resample_data

resample_data
run_vpc

run_vpc
sample_individual_estimates

sample_individual_estimates
run_linearize

run_linearize
run_pdsearch

run_pdsearch
sample_parameters_from_covariance_matrix

sample_parameters_from_covariance_matrix
retrieve_models

retrieve_models
run_modelfit

run_modelfit
run_estmethod

run_estmethod
sample_parameters_uniformly

sample_parameters_uniformly
set_covariates

set_covariates
set_combined_error_model

set_combined_error_model
set_direct_effect

set_direct_effect
set_description

set_description
run_qa

run_qa
set_baseline_effect

set_baseline_effect
run_structsearch

run_structsearch
run_retries

run_retries
run_ruvsearch

run_ruvsearch
set_dvid

set_dvid
set_dtbs_error_model

set_dtbs_error_model
set_first_order_absorption

set_first_order_absorption
set_first_order_elimination

set_first_order_elimination
set_dataset

set_dataset
set_lloq_data

set_lloq_data
set_instantaneous_absorption

set_instantaneous_absorption
set_evaluation_step

set_evaluation_step
set_estimation_step

set_estimation_step
set_additive_error_model

set_additive_error_model
set_iiv_on_ruv

set_iiv_on_ruv
set_power_on_ruv

set_power_on_ruv
set_property

set_property
set_michaelis_menten_elimination

set_michaelis_menten_elimination
set_lower_bounds

set_lower_bounds
set_initial_estimates

set_initial_estimates
set_initial_condition

set_initial_condition
set_n_transit_compartments

set_n_transit_compartments
set_mixed_mm_fo_elimination

set_mixed_mm_fo_elimination
set_name

set_name
set_index

Set index
set_weighted_error_model

set_weighted_error_model
set_ode_solver

set_ode_solver
set_weibull_absorption

set_weibull_absorption
set_tmdd

set_tmdd
set_placebo_model

set_placebo_model
set_peripheral_compartments

set_peripheral_compartments
set_transit_compartments

set_transit_compartments
set_time_varying_error_model

set_time_varying_error_model
set_upper_bounds

set_upper_bounds
set_seq_zo_fo_absorption

set_seq_zo_fo_absorption
set_simulation

set_simulation
solve_ode_system

solve_ode_system
set_zero_order_input

set_zero_order_input
split_joint_distribution

split_joint_distribution
simplify_expression

simplify_expression
transform_etas_john_draper

transform_etas_john_draper
transform_etas_boxcox

transform_etas_boxcox
unconstrain_parameters

unconstrain_parameters
set_proportional_error_model

set_proportional_error_model
undrop_columns

undrop_columns
set_reference_values

set_reference_values
use_thetas_for_error_stdev

use_thetas_for_error_stdev
write_csv

write_csv
set_zero_order_absorption

set_zero_order_absorption
unload_dataset

unload_dataset
set_zero_order_elimination

set_zero_order_elimination
translate_nmtran_time

translate_nmtran_time
transform_etas_tdist

transform_etas_tdist
write_datainfo

write_datainfo
write_dataset

write_dataset
update_initial_individual_estimates

update_initial_individual_estimates
summarize_modelfit_results

summarize_modelfit_results
unfix_parameters

unfix_parameters
unfix_parameters_to

unfix_parameters_to
transform_blq

transform_blq
write_results

write_results
write_model

write_model
add_administration

add_administration
add_admid

add_admid
add_arm

add_arm
add_effect_compartment

add_effect_compartment
add_derivative

add_derivative
add_bioavailability

add_bioavailability
add_allometry

add_allometry
add_cmt

add_cmt
add_covariate_effect

add_covariate_effect
add_estimation_step

add_estimation_step
add_iov

add_iov
add_parameter_uncertainty_step

add_parameter_uncertainty_step
add_metabolite

add_metabolite
add_lag_time

add_lag_time
add_pd_iiv

add_pd_iiv
add_individual_parameter

add_individual_parameter
add_output_variables

add_output_variables
add_population_parameter

add_population_parameter
bin_observations

bin_observations
add_peripheral_compartment

add_peripheral_compartment