Changes in version 0.4.23 (2026-03-02) - Updated tests for vpc 1.2.4 Changes in version 0.4.22 (2025-11-24) - Omit special handling for readr <2.0.0 (@jennybc, #237) Changes in version 0.4.21 (2025-10-06) - Compatibility fix for testthat > v3.2.3 Changes in version 0.4.20 (2025-09-02) - Compatibility fix for ggplot2 v4.0.0 Changes in version 0.4.19 (2025-01-07) - Fixed bug in condition number when Eigen values outputted on multiple records in .lst file (@billdenney & @marianklose, #128) Changes in version 0.4.18 (2024-02-01) - Compatibility fix for roxygen2 7.3.1 - Fix bug when reading a control stream and using $PROB instead of $PROBLEM (@AndreasCalvagone, #222) - Introduced check_ext argument in xpose_data(), read_nm_model(), to bypass the strict NONMEM model format check if needed. - xpose now recognizes PATAB, COTAB, CATAB table names as patab, cotab, and catab types respectively (@certara-mtomashevskiy, #221) - Small documentation fixes and improvements Changes in version 0.4.17 (2023-06-29) - Updated tests for ggplot2 (@hadley, #220) Changes in version 0.4.16 (2023-04-18) - Updated tests for ggplot2 3.4.2 Changes in version 0.4.15 (2023-02-25) - Updated minimal requirements for readr (>= 2.1.0) (@sebastianueckert, #208) - Updated minimal requirements for R (>= 3.5.0) because serialized objects in serialize/load version 3 cannot be read in older versions of R - Don't summarize RANMETHOD as an estimation method (@vrognas, #213) - Fix bug when a given estimation method is used several time in a single $PROBLEM. Sequential $ESTIMATION are now each attributed different subprob visible to the user using list_files(xpdb) (@vrognas, #213) - Compatibility fix with ggplot2 3.4.0, all layers but geom_point and geom_text should now use linewidth instead of size for line width. - Compatibility fix with dplyr 1.1.0 - Small fixes and improvements Changes in version 0.4.14 (2022-11-07) - Compatibility fix with ggplot2 3.4.0 - Compatibility fix with stringr 1.5.0 (@hadley, #207) - xpose will now give a warning on windows if options(readr.read_lazy = TRUE) (@AndreasCalvagone #198) - Fixed errors in plots when calling function with xpose:: (@mattfidler #95) - Updated continuous integration workflow - Small fixes and improvements Changes in version 0.4.13 (2021-06-30) - Compatibility fix with ggplot2 3.3.4 - Compatibility fix with readr 2.0.0 (@jimhester, #194) Changes in version 0.4.12 (2021-01-12) - Compatibility fix for R 4.1.x Changes in version 0.4.11 (2020-07-22) - Improve noLD in tests Changes in version 0.4.10 (2020-06-08) - Compatibility fix for vpc 1.2.1 Changes in version 0.4.9 (2020-05-25) - Compatibility fix for dplyr 1.0.0 and vpc 1.2.0 Changes in version 0.4.8 (2020-03-17) - Compatibility fix for ggplot 3.3.0 and tibble 3.0.0 Changes in version 0.4.7 (2020-02-04) - Fixed error in documentation check fail in R 4.0.0 Changes in version 0.4.6 (2020-01-12) - Updated tests for compatibility with R 4.0.0 - Shortened title of dv_preds_vs_idv Changes in version 0.4.5 (2019-10-07) General - The gg_theme argument in xpose_data, update_themes or plots now accepts a function returning a complete ggplot2 theme. In addition theme gg_theme can now accept theme elements in update_themes and plots. (#157) - Added compatibility with tidyr 1.0.0 (#166) - Small fixes to vignettes, documentations and website Changes in version 0.4.4 (2019-03-21) General - Improved documentation for xpose_data (@billdenney #99) - Fixed VPC error in the documentation (@callistosp #130) - Fixed bug leading to errors when plotting poorly formatted ETA name (@romainfrancois #127) - Compatibility improvements Changes in version 0.4.3 (2018-07-28) General - Fixed bug in get_prm()/prm_table() where off diagonal correlations were improperly computed. - Fixed bug in print.xpose_data()where a warning from stringi was returned. - Fixed multiple bugs introduced by the new versions of tidyverse packages - Added compatibility to ggplot2 v3.0.0 Changes in version 0.4.2 (2018-01-30) General - Address CRAN requests - Improved internal structure of VPC - Fixed bug with vpc 1.0.1 Changes in version 0.4.1 (2018-01-09) General - Improved integration of the xpose.nlmixr package - Prevented a problem in the print() function with the upcoming ggplot2 version - Fixed bug in summary() where missing estimation method was reported if NM code written as METH=... instead of METHOD=... - Fixed bug where labels in prm_table(), get_prm() were missing with a commented row in $THETA, $OMEGA or $SIGMA - Fixed bug in prm_table(), get_prm() where only NA would be reported when missing the -1000000006 record in the .ext file (i.e. NM <7.3) - Prevented negative RSE in prm_table() and get_prm() - Improved description of the prm_table() output - Fixed bug in summary() with non numeric covariance step time - Fixed bug in ind_plots() where the aesthetics would get mixed up if the variable names were changed - Small fixes to vignettes, documentations and website Changes in version 0.4.0 (2017-11-17) General - Added xpdb memory usage to print.xpose_data() - Replaced print.prm.data() to prm_table() - Fixed documentation Data import/edit - Added compatibility with dplyr::n() when editing xpdb #51 - Added get_special() to access special data - Improved get_prm() labeller parsing with OMEGA and SIGMA BLOCKS - get_prm() and prm_table(): - Both gained a transform argument to disable parameter transformation - RSE is now always reported (also for untransformed) - Corrected RSE for off-diagonal elements from OMEGA and SIGMA when output as correlation and SE when output as standard deviation - Added list_data(), list_files() and list_special() to get info on the data structure in the xpdb - Renamed the arguments problem, subprob, method and source to .problem, .subprob, etc. for consistency with dplyr functions. - Improved error checking for themes in xpose_data - Improved error checking in get_prm() Plots - print.xpose_plot() now displays a message when the number of facets is > 20, informing that many panels are being printed and that it may take a while to render the plot - Improved .problem, .subprob and .method error checking Changes in version 0.3.0 General - Improved documentation and testing - Improved compatibility with NONMEM 7.4.1 - Improved website look, and content with new 'FAQ' and 'Plot' sections and a cheat-sheet - Multiple bug small bug fixes and code improvements - Added multiple page functionality to all plots and xpose_save() - Added get_prm() function Data import/edit - Improved dir and file arguments usage - Improved error robustness of xpose_data() - Added new dplyr verbs for xpdb editing: slice(), select(), rename(), distinct(), summarize(), group_by() and ungroup() - dplyr verbs can now also be used to edit vpc data - Added irep() function to add simulation counter to any dataset - Bug fix in read_nm_files() not properly reporting FO method - Bug fix in read_nm_tables() not properly parsing data (missing minus signs) in some very specific cases Plots - Small modifications to xp_theme() defaults - Faceting options can now be defined globally in the xp_theme - Added amt_vs_idv() plot - Improved faceting of minimization plots - Multiples improvements to the vpc_data() and vpc() functions. - More keywords added to template_titles Changes in version 0.2.0 General - Renamed package xpose - Added example dataset xpdb_ex_pk - New internal data structure using nested tibbles - Improvement of documentation, and testing Data import read_nm_tables() - Handles NONMEM tables in .csv, .zip format - Handles multiple $PROB and tables with FIRSTONLY option - Added option to import data manually as in xpose4 with manual_nm_import() - Added indexing of variable and convenience functions to edit it: set_vars_type(), set_vars_label(), set_vars_units() read_nm_files() - Now imports multiple $PROB and sub-problems Summary - Added print() and summary() methods for xpdb - Added list_vars() function to list available variables - Added many new keywords to template_titles Access xpdb - Added convenience functions to access data from xpdb get_code(), get_data(), get_file(), get_summary(). - Added a method for xpdb to dplyr::filter() Plots - Changed cwres_vs_idv, type residual functions to more general res_vs_idv(res = 'CWRES') functions - Implemented/improved general plotting functions: xplot_distrib(), xplot_qq(), xplot_scatter(), with convenience function to fetch data in xpdb data_opt_set(). - Implemented: dv_vs_idv(), ipred_vs_idv(), pred_vs_idv(), dv_preds_vs_idv(), ind_plots(), vpc(), prm_distrib(), eta_distrib(), res_distrib(), cov_distrib(), prm_qq(), eta_qq(), res_qq(), cov_qq(), prm_vs_iteration(), grd_vs_iteration(). - Updated/renamed: theme_bw2(), theme_readable(), theme_xp_default(), theme_xp_xpose4(). VPC - Added wrapper around ronkeizer/vpc inside vpc_data(). Changes in version 0.1.0 First commit - Proof of concept pre-release around simple goodness-of-fit functions like dv_vs_ipred() Definition of core functions and workflow - Defined the xpose_geom() core function to specifically direct arguments to ggplot2 layers - Defined the concept of template titles - Define the templates for xpose_theme() - Makes use of the tidyverse and pipes %>%