From 84c181b3baef6ef2f3dd5ed4e13af50108aafaa1 Mon Sep 17 00:00:00 2001 From: Danielle Navarro Date: Wed, 26 Nov 2025 13:39:38 +1100 Subject: [PATCH 1/7] allow manual bin_breaks option --- R/plot_ermod.R | 69 +++++++++++++++++++++++++++++++++++++------------- 1 file changed, 51 insertions(+), 18 deletions(-) diff --git a/R/plot_ermod.R b/R/plot_ermod.R index cd850ab..bae35cd 100644 --- a/R/plot_ermod.R +++ b/R/plot_ermod.R @@ -99,7 +99,7 @@ plot_er.ersim_med_qi <- function( list( add_boxplot = FALSE, boxplot_height = 0.15, show_boxplot_y_title = TRUE, var_group = NULL, - n_bins = 4, qi_width = 0.95 + n_bins = 4, bin_breaks = NULL, qi_width = 0.95 ), options_orig_data ) @@ -328,17 +328,22 @@ plot_er.ersim_med_qi <- function( var_group <- options_orig_data$var_group n_bins <- options_orig_data$n_bins + bin_breaks <- options_orig_data$bin_breaks qi_width <- options_orig_data$qi_width # Convert the response variable to a numeric index origdata$.resp_num <- as.numeric(factor(origdata[[var_resp]])) - 1 # binned probability ------------------------------------------------------ - breaks <- - stats::quantile(origdata[[var_exposure]], probs = seq(0, 1, 1 / n_bins)) + if (is.null(bin_breaks)) { + bin_breaks <- stats::quantile( + origdata[[var_exposure]], + probs = seq(0, 1, 1 / n_bins) + ) + } # Show error when the breaks are not unique - if (length(unique(breaks)) != length(breaks)) { + if (length(unique(bin_breaks)) != length(bin_breaks)) { stop( "The breaks for the binned probability are not unique, ", "possibly due to too few unique values in the exposure variable.\n", @@ -348,20 +353,34 @@ plot_er.ersim_med_qi <- function( gg <- gg + ggplot2::geom_vline( - xintercept = breaks, linetype = "dashed", + xintercept = bin_breaks, + linetype = "dashed", alpha = 0.3 ) + xgxr::xgx_stat_ci( data = origdata, - ggplot2::aes(x = .data[[var_exposure]], y = .data[[".resp_num"]]), - bins = n_bins, conf_level = qi_width, distribution = "binomial", - geom = c("point"), shape = 0, size = 4 + ggplot2::aes( + x = .data[[var_exposure]], + y = .data[[".resp_num"]] + ), + breaks = bin_breaks, + conf_level = qi_width, + distribution = "binomial", + geom = c("point"), + shape = 0, + size = 4 ) + xgxr::xgx_stat_ci( data = origdata, - ggplot2::aes(x = .data[[var_exposure]], y = .data[[".resp_num"]]), - bins = n_bins, conf_level = qi_width, distribution = "binomial", - geom = c("errorbar"), linewidth = 0.5 + ggplot2::aes( + x = .data[[var_exposure]], + y = .data[[".resp_num"]] + ), + breaks = bin_breaks, + conf_level = qi_width, + distribution = "binomial", + geom = c("errorbar"), + linewidth = 0.5 ) @@ -550,6 +569,8 @@ plot_er.ermod <- function( #' and colored by this column. Default is `NULL`. #' @param n_bins Number of bins to use for observed probability #' summary. Only relevant for binary models. Default is `4`. +#' @param bin_breaks Manually specify bin breaks for binary models. If specified +#' this overrides `n_bins`. #' @param qi_width_obs Confidence level for the observed probability #' summary. Default is `0.95`. #' @param show_coef_exp Logical, whether to show the credible interval @@ -610,11 +631,17 @@ plot_er.ermod <- function( #' } #' plot_er_gof <- function( - x, add_boxplot = !is.null(var_group), boxplot_height = 0.15, + x, add_boxplot = !is.null(var_group), + boxplot_height = 0.15, show_boxplot_y_title = FALSE, - var_group = NULL, n_bins = 4, qi_width_obs = 0.95, + var_group = NULL, + n_bins = 4, + bin_breaks = NULL, + qi_width_obs = 0.95, show_coef_exp = FALSE, - coef_pos_x = NULL, coef_pos_y = NULL, coef_size = 4, + coef_pos_x = NULL, + coef_pos_y = NULL, + coef_size = 4, qi_width_coef = 0.95, qi_width_sim = 0.95, show_caption = TRUE) { @@ -624,17 +651,23 @@ plot_er_gof <- function( show_coef_exp = show_coef_exp, show_caption = show_caption, options_orig_data = list( - add_boxplot = add_boxplot, boxplot_height = boxplot_height, + add_boxplot = add_boxplot, + boxplot_height = boxplot_height, show_boxplot_y_title = show_boxplot_y_title, var_group = var_group, - n_bins = n_bins, qi_width = qi_width_obs + n_bins = n_bins, + bin_breaks = bin_breaks, + qi_width = qi_width_obs ), options_coef_exp = list( - qi_width = qi_width_coef, pos_x = coef_pos_x, pos_y = coef_pos_y, + qi_width = qi_width_coef, + pos_x = coef_pos_x, + pos_y = coef_pos_y, size = coef_size ), options_caption = list( - orig_data_summary = TRUE, coef_exp = show_coef_exp + orig_data_summary = TRUE, + coef_exp = show_coef_exp ), qi_width_sim = qi_width_sim ) From d3d792e7b7cf31cee7bd2db8254a96d772557235 Mon Sep 17 00:00:00 2001 From: Danielle Navarro Date: Wed, 26 Nov 2025 13:42:43 +1100 Subject: [PATCH 2/7] adjusts tolerance on loo test --- tests/testthat/test-loo_kfold.R | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/testthat/test-loo_kfold.R b/tests/testthat/test-loo_kfold.R index 37dfaa1..c5ca1b0 100644 --- a/tests/testthat/test-loo_kfold.R +++ b/tests/testthat/test-loo_kfold.R @@ -86,7 +86,8 @@ if (.if_run_ex_eval_mod()) { expect_equal( loo_ermod_bin$estimates[, 1], - c(elpd_loo = -38.5289466, p_loo = 3.3262640, looic = 77.0578931) + c(elpd_loo = -38.5289466, p_loo = 3.3262640, looic = 77.0578931), + tolerance = 0.1 ) expect_equal( loo_ermod_emax_w_cov$estimates[, 1], From 539f644959ef2b25b2fbf8924e48f448321eb584 Mon Sep 17 00:00:00 2001 From: Danielle Navarro Date: Wed, 26 Nov 2025 14:11:27 +1100 Subject: [PATCH 3/7] update .Rd --- man/plot_er_gof.Rd | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/man/plot_er_gof.Rd b/man/plot_er_gof.Rd index 02418b3..4119eb2 100644 --- a/man/plot_er_gof.Rd +++ b/man/plot_er_gof.Rd @@ -11,6 +11,7 @@ plot_er_gof( show_boxplot_y_title = FALSE, var_group = NULL, n_bins = 4, + bin_breaks = NULL, qi_width_obs = 0.95, show_coef_exp = FALSE, coef_pos_x = NULL, @@ -41,6 +42,9 @@ and colored by this column. Default is \code{NULL}.} \item{n_bins}{Number of bins to use for observed probability summary. Only relevant for binary models. Default is \code{4}.} +\item{bin_breaks}{Manually specify bin breaks for binary models. If specified +this overrides \code{n_bins}.} + \item{qi_width_obs}{Confidence level for the observed probability summary. Default is \code{0.95}.} From 0b6c2ede61a7a9dc68c54996d230a5e47d0b3b18 Mon Sep 17 00:00:00 2001 From: Danielle Navarro Date: Thu, 27 Nov 2025 13:13:55 +1100 Subject: [PATCH 4/7] adds data set with placebo --- R/yyy.R | 34 ++++ data-raw/d_sim_placebo.R | 140 +++++++++++++ data-raw/d_sim_placebo.csv | 401 +++++++++++++++++++++++++++++++++++++ data/d_sim_placebo.rda | Bin 0 -> 18034 bytes man/d_sim_placebo.Rd | 42 ++++ 5 files changed, 617 insertions(+) create mode 100644 data-raw/d_sim_placebo.R create mode 100644 data-raw/d_sim_placebo.csv create mode 100644 data/d_sim_placebo.rda create mode 100644 man/d_sim_placebo.Rd diff --git a/R/yyy.R b/R/yyy.R index 619d5f1..f597fff 100644 --- a/R/yyy.R +++ b/R/yyy.R @@ -143,3 +143,37 @@ if (getRversion() >= "2.15.1") { #' @examples #' d_sim_emax "d_sim_emax" + + +#' Sample simulated data for Emax exposure-response models with covariates and placebo +#' +#' @name d_sim_placebo +#' @format A data frame with columns: +#' \describe{ +#' \item{id}{Subject identifier} +#' \item{dose}{Nominal dose, units not specified} +#' \item{exp_1}{Exposure value on metric 1, units and metric not specified} +#' \item{exp_2}{Exposure value on metric 2, units and metric not specified} +#' \item{rsp_1}{Continuous response value (units not specified)} +#' \item{rsp_2}{Binary response value (group labels not specified)} +#' \item{cnt_a}{Continuous valued covariate} +#' \item{cnt_b}{Continuous valued covariate} +#' \item{cnt_c}{Continuous valued covariate} +#' \item{bin_d}{Binary valued covariate} +#' \item{bin_e}{Binary valued covariate} +#' } +#' @details +#' +#' This simulated dataset is entirely synthetic. It is a generic data set that can be used +#' to illustrate Emax modeling with placebo data. It contains variables corresponding to +#' dose and exposure, and includes both a continuous response variable and a binary response +#' variable. Three continuous valued covariates are included, along with two binary covariates. +#' Data from two exposure metrics are included. +#' +#' You can find the data generating code in the package source code, +#' under `data-raw/d_sim_placebo.R`. +#' +#' @examples +#' d_sim_placebo +"d_sim_placebo" + diff --git a/data-raw/d_sim_placebo.R b/data-raw/d_sim_placebo.R new file mode 100644 index 0000000..00e5408 --- /dev/null +++ b/data-raw/d_sim_placebo.R @@ -0,0 +1,140 @@ +set.seed(123L) + +d_sim_placebo <- local({ + + emax_fn <- function(exposure, emax, ec50, e0, gamma = 1) { + e0 + emax * (exposure^gamma) / (ec50^gamma + exposure^gamma) + } + + # simulation model for the exposures includes a dosing model, but is very + # simple. exposure scales linearly with dose, and has a slightly-truncated + # lognormal distribution conditional on dose + generate_exposure <- function(dose, n, meanlog = 4, sdlog = 0.5) { + dose * stats::qlnorm( + p = stats::runif(n, min = .01, max = .99), + meanlog = meanlog, + sdlog = sdlog + ) + } + + # continuous covariates all have the same range (0 to 10) and follow a + # scaled beta distribution within that range + continuous_covariate <- function(n) { + stats::rbeta(n, 2, 2) * 10 + } + + # binary covariates are Bernoulli variates + binary_covariate <- function(n, p) { + as.numeric(stats::runif(n) <= p) + } + + + # simulation functions ---------------------------------------------------- + + simulate_data <- function(seed = 123) { + set.seed(seed) + + par <- list( + # parameters for continuous response + emax_1 = 10, + ec50_1 = 4000, + e0_1 = 5, + gamma_1 = 1, + sigma_1 = .5, + coef_a1 = .5, + coef_b1 = 0, + coef_c1 = 0, + coef_d1 = 0, + + # parameters for binary response + emax_2 = 5, + ec50_2 = 8000, + e0_2 = -4.5, + gamma_2 = 1, + coef_a2 = .5, + coef_b2 = 0, + coef_c2 = 0, + coef_d2 = 1 + ) + + # conditional on a dose group, generate data; include multiple exposure metrics + # but treat the first one as source of ground truth. exposures are strongly + # correlated but on the same scale + make_dose_data <- function(dose, n, par) { + tibble::tibble( + dose = dose, + exposure_1 = generate_exposure(dose, n = n), + exposure_2 = 0.7 * exposure_1 + 0.3 * generate_exposure(dose, n = n), + + # add continuous and binary covariates + cnt_a = continuous_covariate(n = n), + cnt_b = continuous_covariate(n = n), + cnt_c = continuous_covariate(n = n), + bin_d = binary_covariate(n = n, p = .5), + bin_e = binary_covariate(n = n, p = .7), + + # response 1 is continuous + response_1 = emax_fn( + exposure_1, + emax = par$emax_1, + ec50 = par$ec50_1, + e0 = par$e0_1, + gamma = par$gamma_1 + ) + + par$coef_a1 * cnt_a + + par$coef_b1 * cnt_b + + par$coef_c1 * cnt_c + + par$coef_d1 * bin_d + + stats::rnorm(n, 0, par$sigma_1), + + # response 2 is binary; start with the predictor + bin_pred = emax_fn( + exposure_1, + emax = par$emax_2, + ec50 = par$ec50_2, + e0 = par$e0_2, + gamma = par$gamma_2 + ) + + par$coef_a2 * cnt_a + + par$coef_b2 * cnt_b + + par$coef_c2 * cnt_c + + par$coef_d2 * bin_d, + + # convert + bin_prob = 1 / (1 + exp(-bin_pred)), + response_2 = as.numeric(stats::runif(n) < bin_prob) + ) |> + dplyr::select(-bin_pred, -bin_prob) # remove intermediate variables + } + + # create data set assuming three dosing groups and placebo + dat <- dplyr::bind_rows( + make_dose_data(dose = 0, n = 100, par = par), + make_dose_data(dose = 100, n = 100, par = par), + make_dose_data(dose = 200, n = 100, par = par), + make_dose_data(dose = 300, n = 100, par = par) + ) + + return(dat) + } + + # generate data ----------------------------------------------------------- + + d_sim_placebo <- simulate_data() + d_sim_placebo <- d_sim_placebo |> + dplyr::mutate(id = dplyr::row_number()) |> + dplyr::relocate(response_1, response_2, .after = exposure_2) |> + dplyr::relocate(id, 1) |> + dplyr::rename( + exp_1 = exposure_1, + exp_2 = exposure_2, + rsp_1 = response_1, + rsp_2 = response_2 + ) + + d_sim_placebo +}) + +readr::write_csv(d_sim_placebo, "data-raw/d_sim_placebo.csv") +usethis::use_data(d_sim_placebo, overwrite = TRUE) + diff --git a/data-raw/d_sim_placebo.csv b/data-raw/d_sim_placebo.csv new file mode 100644 index 0000000..a5b76b5 --- /dev/null +++ b/data-raw/d_sim_placebo.csv @@ -0,0 +1,401 @@ +id,dose,exp_1,exp_2,rsp_1,rsp_2,cnt_a,cnt_b,cnt_c,bin_d,bin_e +1,0,0,0,6.489196214645731,0,3.057604138550052,6.5048262145977995,5.928022604062216,0,1 +2,0,0,0,7.812193527690828,0,5.721756322894736,3.843353277081516,5.596357122618091,0,1 +3,0,0,0,7.261407515718995,0,4.306662489636756,3.6750485047242183,8.164048170942932,0,0 +4,0,0,0,7.454625570595354,0,4.026785976794121,2.859747442471744,9.384136933581672,1,1 +5,0,0,0,6.334730381272093,0,2.463863258060802,3.358705389477543,8.293185904182378,0,1 +6,0,0,0,7.128279445704344,0,4.872994734282217,8.900582353371462,7.060294015893987,0,0 +7,0,0,0,6.067098715077391,0,2.8689966820760624,4.847616458270171,0.9891378149704455,0,1 +8,0,0,0,5.471084478446729,1,1.0739717499346388,5.336094862461806,3.340542646361642,1,1 +9,0,0,0,7.123415185510876,0,3.9368133844428,5.684954810605893,4.01436413941897,1,1 +10,0,0,0,8.209586737365065,1,7.458853827432172,8.155465805731481,6.924758203920312,1,1 +11,0,0,0,6.6126765992223575,0,3.4096620672871,3.567781482168498,4.702108291584847,1,1 +12,0,0,0,8.821860974305372,0,6.676454688442828,2.368463526508572,1.7913882312063083,0,0 +13,0,0,0,5.520788687287139,1,1.1498574658087628,8.937483791078602,8.950295974620941,1,0 +14,0,0,0,7.072435604863376,0,4.843291877321143,3.770213591451922,7.44069103341229,0,1 +15,0,0,0,8.082621388610695,1,6.44118794564693,3.02525423623661,5.667489562991372,1,0 +16,0,0,0,8.479756721442007,0,5.844864897522034,1.836772334277975,8.125941885183199,0,1 +17,0,0,0,7.92397467665474,0,5.297905392095343,1.7392847852757576,1.6339101370821265,0,0 +18,0,0,0,7.237225302054334,1,3.2377748040270617,3.4133025300781754,6.814565947210721,0,1 +19,0,0,0,6.423845066879124,0,2.708592276596476,6.70278061728451,3.5494149774296235,0,1 +20,0,0,0,6.3530580725094365,0,2.295841048528449,7.895720292986464,6.873882591265058,0,0 +21,0,0,0,7.386569868858843,0,5.331596650065819,6.935178060436716,4.828462897504693,1,0 +22,0,0,0,6.539497160282365,0,2.4736236516343975,3.9823751404750323,6.741998475444482,1,1 +23,0,0,0,6.565034451613263,0,3.636402445415764,5.1685150222288945,8.359845276233736,0,0 +24,0,0,0,6.429942127926224,0,4.280449760548192,3.072490942913965,5.02056493147758,0,1 +25,0,0,0,9.64708995121216,0,9.166186936740194,3.0401829165007643,7.689154457290752,0,1 +26,0,0,0,7.577166922738521,0,3.2084826277456076,7.376402078240974,1.9358130482650757,1,1 +27,0,0,0,8.231348711974602,0,5.661783084376143,2.3153442251303264,3.028982987246704,0,1 +28,0,0,0,8.19254795058863,1,5.219842511230999,9.297344462554067,8.690758328514333,1,1 +29,0,0,0,6.399338306683272,0,2.439820890273393,4.745339037970463,6.055388758518544,0,1 +30,0,0,0,7.095174180505278,1,4.798905539326781,5.603514564621188,0.6012804192296205,1,1 +31,0,0,0,9.179654939463944,1,8.561550734038173,2.985906427671349,1.5859239845676845,1,1 +32,0,0,0,7.992324145786552,0,6.25789639838503,3.412201885253288,4.434990961782319,1,1 +33,0,0,0,7.323802078165993,0,5.116303936114074,1.6758840872248122,7.330640203272737,1,1 +34,0,0,0,7.262622742455297,0,3.821078200980879,4.4850233372526755,4.712773364508995,0,1 +35,0,0,0,4.701453342828108,0,0.6002701880216281,6.169328031881751,6.719039769004755,0,0 +36,0,0,0,9.404425108832712,1,7.942484085552649,5.909008628253317,7.553493698877518,0,1 +37,0,0,0,6.137070118824934,0,1.4099877514239743,2.877429329556436,8.930636220129895,0,1 +38,0,0,0,7.909537639122898,0,7.017697637314545,2.8596996096972966,5.157990287469736,1,0 +39,0,0,0,9.942200676291126,1,9.244909354681717,3.605041399149745,4.853385781119949,0,1 +40,0,0,0,6.9349232626179544,0,1.4396198728914003,8.651472668956238,0.9523967453693967,1,1 +41,0,0,0,8.181539722975765,0,6.920294927893139,2.0446240867431293,5.280030511415713,1,1 +42,0,0,0,7.554170907876992,0,4.263437574345913,4.495886018469261,3.41893293537652,0,1 +43,0,0,0,5.219962933694823,0,1.222127713009047,9.23702888417423,2.4114157094508424,1,1 +44,0,0,0,6.213808098992416,0,1.316904779782032,4.7153309924433255,4.493489246332375,1,1 +45,0,0,0,5.712594693917876,0,1.1753646679091903,3.1751900838248073,7.683168998292205,0,1 +46,0,0,0,7.589961923396401,1,3.528008455169637,6.349843427422446,3.80803161169825,1,1 +47,0,0,0,7.712832441648484,0,6.8846356118338825,3.9495167676639937,5.328756578852783,0,0 +48,0,0,0,9.696651711162211,1,9.444601308449784,3.4454145535575735,2.602953705894361,1,1 +49,0,0,0,5.603886533487831,0,1.734698243101259,4.036790159940795,5.935551388632815,1,1 +50,0,0,0,8.47041397810273,0,7.13809282528176,5.2551596887784155,6.148692973657265,1,1 +51,0,0,0,8.230814735898344,1,7.091208214482693,8.819872123768606,4.90681285503473,0,0 +52,0,0,0,7.54850406957052,0,5.930851719676042,4.750281176544861,0.28728200406004556,0,1 +53,0,0,0,6.455305953879224,1,2.331889533141997,7.831692190211973,9.766596474919776,1,0 +54,0,0,0,6.787870492486485,0,4.663321699049897,6.736228833251078,4.4223408117605585,1,1 +55,0,0,0,7.848410727017708,0,4.212790522479133,4.679678561997343,6.789548890261756,0,0 +56,0,0,0,7.68566871765964,0,6.55754402063303,1.2863606477552603,5.768771262112718,0,1 +57,0,0,0,7.029647022425179,0,3.9582148934550783,3.554226571334798,7.705400262315004,0,1 +58,0,0,0,9.064239359281935,0,7.595489431737389,3.638255369559842,7.212527703302422,0,1 +59,0,0,0,7.2695305932492795,0,3.952325847405934,5.133002254197158,4.409763065110667,1,0 +60,0,0,0,8.733581160866954,0,7.768908985600291,8.291267427930208,6.057531259738392,0,1 +61,0,0,0,6.159276552665855,0,2.239051110003308,9.603130421338324,2.4784954790375173,0,1 +62,0,0,0,6.374809201050762,0,1.7883542502918455,8.737906764586185,3.7162301959388833,0,1 +63,0,0,0,9.24568365150096,1,9.947833220078346,4.624791492313548,9.684407108191902,1,1 +64,0,0,0,6.527367609313219,0,3.836474930158519,0.9479016704071886,1.0992047975011434,0,0 +65,0,0,0,8.078574378917963,0,5.836746443519315,3.913335344787947,3.7082364170268924,0,0 +66,0,0,0,8.153323079743704,0,6.751428137824397,5.251527659398115,7.231612426462339,1,1 +67,0,0,0,7.512347317869713,0,3.6546906417684255,7.279915212248259,6.416291712665252,0,0 +68,0,0,0,8.553807164343407,0,6.4343604653319755,7.561752057655783,3.3722651093262366,0,0 +69,0,0,0,8.052198370797965,0,6.032229989181176,6.87533701803964,2.358589153510275,1,1 +70,0,0,0,6.443186887181383,0,4.394131091899446,1.527715426423224,5.407043063117593,1,1 +71,0,0,0,7.605120472723194,0,5.184140720120146,7.2912576705315155,4.959640027343177,1,1 +72,0,0,0,7.293744481629401,0,4.903904831455794,3.755544692732871,0.9026147135691049,1,1 +73,0,0,0,9.68407118003107,0,9.470488873582738,5.492196282433816,5.097459711409097,0,1 +74,0,0,0,5.8986098841932115,0,2.9787789954421093,5.210234205415462,5.535452988935702,0,1 +75,0,0,0,7.802623982430102,0,5.106589921030279,6.194388338744096,5.49198226853115,0,1 +76,0,0,0,7.415886112360438,0,5.870728665027908,5.069604305128964,2.225905631120264,0,1 +77,0,0,0,7.995468004452522,0,6.2171579903474505,7.008933463280042,6.324644251767971,0,1 +78,0,0,0,7.052452718858038,0,3.7234796082647232,6.079110269281988,8.441312422438378,0,0 +79,0,0,0,5.711874710705908,0,2.207265210424865,4.2538171865405925,6.270744046377193,1,1 +80,0,0,0,9.40036531494651,0,8.217739224212957,5.33299767577077,2.048326010890793,1,1 +81,0,0,0,6.352230627631324,0,4.02097165691434,5.377704450488606,3.785232901064999,1,0 +82,0,0,0,4.930116895251125,0,2.6700084694627915,5.621638371030827,5.9692437458742464,0,1 +83,0,0,0,7.40034565757537,1,4.335723324364887,8.885370219399134,3.2212485831997344,0,1 +84,0,0,0,7.64281372686469,0,4.44508762676838,4.383867474338036,7.375436228573392,0,1 +85,0,0,0,8.805016391985745,0,7.895878207562873,5.4732923005963965,2.758278656324931,0,1 +86,0,0,0,7.871530880480954,0,5.238935506370299,8.021877066128875,3.414397964755505,0,0 +87,0,0,0,7.948752300048611,0,7.053421125180893,7.772214756108311,8.664852524495881,0,0 +88,0,0,0,6.742858355802726,0,3.6128653184311132,7.972511578275215,2.8959681377020297,0,1 +89,0,0,0,6.830867279289861,1,5.60325293462034,3.404042379611012,7.281676646597158,0,0 +90,0,0,0,7.635558247705009,0,4.089935603971496,9.34814287428454,1.7872923230791404,0,1 +91,0,0,0,8.56329074244514,0,5.266670623347122,5.18810898018986,4.007483411246163,0,1 +92,0,0,0,6.83588781558915,1,2.597763370896309,9.19455593970929,4.792570296721133,1,1 +93,0,0,0,5.830317350583002,0,1.6879816675797454,1.6107718165359886,1.9775553172041402,1,1 +94,0,0,0,9.654638668622335,1,9.342607679520592,5.059192055690255,3.2533298096985734,1,1 +95,0,0,0,7.57064386426511,0,6.657355351681319,8.19096862138861,4.918643596211149,0,1 +96,0,0,0,6.298334963669231,0,1.8062845834502341,3.0452330849131855,6.840163109538288,0,1 +97,0,0,0,6.552196885399921,0,3.3151279514916165,2.9500285270149664,1.0999609269595663,1,1 +98,0,0,0,9.437025786655225,1,9.530794498671527,2.494727353474394,4.020685201518525,0,0 +99,0,0,0,8.451567018226246,0,8.3151598291108,2.231536982108955,7.059364045010511,0,1 +100,0,0,0,6.977732683609459,0,4.255227863865191,3.781110248838436,3.5068814191751585,0,1 +101,100,5792.486656313507,6414.352377165037,13.332158939099946,0,4.448691674541115,5.401373736784317,1.0692570171295552,0,1 +102,100,2316.812393852626,2953.695558091119,12.586382412252071,1,6.4957400051660175,1.538411884022035,4.78134624304099,1,1 +103,100,8316.178369022535,8563.049963084737,14.623036698435774,1,6.698765254943929,2.6687311606468516,3.3945120195844947,1,1 +104,100,4448.398311447696,4923.296593068148,13.69829515582635,1,6.6990595310069825,4.540125855663566,5.154380866573085,1,0 +105,100,10607.527062580408,8901.036002183104,12.73095322701507,0,1.0385489796846095,7.941872462300682,1.3440169016450578,1,0 +106,100,4563.718644027419,6546.138163921706,13.729194644085908,0,6.031618002163338,3.5378375872265795,2.1226217327924153,1,0 +107,100,13585.146582038302,11074.097054011396,16.224536867784664,1,7.574227199144689,5.40464737349589,7.616600745981121,1,1 +108,100,4727.695511048153,4190.204288498101,14.53410991356924,0,8.244540117504954,2.1268703367809025,2.1292044251663524,1,0 +109,100,5384.3758869409385,5338.872628705425,12.031937890598988,0,4.367342649049377,7.4218273576543,2.8325252023387764,0,1 +110,100,5398.304178953146,8120.922161543971,12.403935030786384,1,4.09766545377707,8.630350006188655,5.2252328210433685,0,1 +111,100,1994.6334267428565,4667.80644303015,12.708558081498825,1,8.637352007271096,7.162708383432515,4.095302522621443,1,0 +112,100,6519.729324271813,6076.304264272965,11.381456196998606,0,1.0739922916629092,9.165442715639248,5.41249879954274,0,0 +113,100,5544.811059092583,6707.3540490092455,12.678460307548216,0,3.7820075038941523,8.183891482723245,9.611661240986761,0,1 +114,100,4345.180562227983,4309.6670788071715,13.10988629110322,1,6.274069923828192,4.6283796337001295,2.0721136664247046,1,0 +115,100,6038.233995493904,6686.748889168508,11.89371350511611,0,1.1500261793162043,6.327088508921066,4.1431631739657675,1,1 +116,100,6319.24103370329,6894.191022795127,14.600527781245962,1,5.785075382849431,2.4161161615802493,3.565914840643755,1,1 +117,100,5059.70342538998,4964.7293760526045,14.777544531505729,1,9.207901606732886,4.4786401900569395,8.679258225960595,1,1 +118,100,3434.63856189365,3817.4955541993113,11.9605330781573,1,4.988545113554121,8.131828605495993,2.907678445951289,0,1 +119,100,7208.390511707033,7012.181626295823,14.260220101367162,1,4.218189001356344,6.499728080331969,4.768531648642092,1,1 +120,100,7564.479861185214,8071.835755462335,13.602341506407251,1,6.321340653696426,6.2737856928139415,7.1365794998092005,1,0 +121,100,8922.62502848016,8241.219872076512,13.852969698266365,1,4.216469855103002,2.2640136191468,2.2178798664589743,0,1 +122,100,5698.2530256614045,5659.906953574882,15.508886865876645,1,7.2019777600989565,3.332625794762305,8.906994915504088,1,0 +123,100,4237.935123967621,3954.1514713551915,14.953225248216373,1,7.424031830897312,2.9199573959918617,6.85326880575046,0,1 +124,100,5175.34755648003,5507.4403990750425,13.22258630980483,1,5.007593061880345,6.104530679559303,2.182968137246969,0,1 +125,100,4727.477691771624,4032.7977535648015,10.96523685444541,0,1.9605340473349886,2.373090006200211,6.266242436479251,0,1 +126,100,3921.7587097305022,4379.877532102205,10.870117277990063,0,1.67354471214608,6.555024120128498,4.399931047582023,0,1 +127,100,6633.601198006653,6884.728457794412,12.593442184920951,1,3.362980217320941,2.089931299414432,5.878343415203785,1,1 +128,100,12207.262766240096,10835.73353313552,16.839459192983774,1,7.162159780199832,9.146885082679887,4.746309125714758,0,0 +129,100,4171.916279455729,3708.781141135064,10.092921420091253,0,0.7819509967146185,6.282557734599852,7.808804827137682,0,1 +130,100,6594.797700087421,6142.219546695741,13.012879682870928,0,3.2037234233395684,3.0817090184599594,1.6103961628580932,1,1 +131,100,5709.511451713659,5635.95440101879,14.241283912240545,1,6.102061242924149,5.677582909313927,3.5502074368343184,1,1 +132,100,6161.231689170206,5527.346562571429,11.961769163842144,0,2.5541097911022876,4.013242714293911,4.299692420863066,1,1 +133,100,2198.0079398096027,3390.135439532008,12.662811410793399,1,7.381471085856077,6.0382355501224625,2.3608565347230863,1,1 +134,100,1838.5492930592943,3515.967315244419,10.742057298605726,1,5.934078409839395,5.684523092726447,2.259882709876835,1,1 +135,100,3172.2471156226825,4378.443111025503,11.997809148640858,1,4.5194838282396095,2.318729591469035,4.949279656524511,0,0 +136,100,2196.8596541132188,2457.4443504163005,12.70115839970234,1,7.215419864118568,2.8529745339112034,4.6275354989119215,1,0 +137,100,2879.0361002609925,3812.54132104598,11.733773871347346,1,6.0855269596998705,5.840537417966934,0.24394186493636158,1,0 +138,100,5298.248469112444,6169.429554524686,13.130730079887934,1,3.7572360618668323,8.88264316453284,7.7415170361108165,0,1 +139,100,3601.8544560622922,3666.696383343603,12.318285737453547,1,5.649852263471692,7.840159354507797,5.701799880070509,1,1 +140,100,8443.414476847287,8103.665059465606,15.322609722500612,1,6.7799695915185225,3.279964702170296,9.68406836528176,0,1 +141,100,3891.8149150167706,5370.208593950568,13.031033478034908,0,5.997314661459724,7.2329528676534816,6.87762898868221,0,1 +142,100,5385.263167709534,4694.466998411651,12.12076585568827,1,3.1927298833273166,4.863010774121801,3.754451716802504,0,0 +143,100,6583.4486446949395,8332.280985020578,15.006990736603775,0,7.304851362065715,5.845309578720973,9.86486719455298,1,1 +144,100,3358.346732046069,4620.110948282721,12.943262073779078,1,7.988962456324628,5.731447565440183,1.8728136227342227,1,1 +145,100,8801.909605536828,8677.299881130804,14.695272195576635,1,5.775748977845448,9.768457908702274,6.305428899261613,0,1 +146,100,5049.161438068318,4602.276455025105,13.695596479222603,1,5.406000291318604,1.9424191506274955,4.405695164213576,1,1 +147,100,3828.1139745462183,3343.5819764782136,11.196519774441084,0,4.786739470025871,5.284514001506384,5.526542765912774,0,1 +148,100,4217.935131991256,5741.935628540729,14.138352266388052,1,9.499436205343333,6.628672321798162,5.639871705454672,0,1 +149,100,3363.006491696749,5564.1318058660945,11.874399242390284,1,5.77586295625652,7.866652862190444,1.7848430279386882,1,1 +150,100,6069.635927245591,5213.489569588661,12.510186275320383,1,4.554138753252859,8.563527714400418,5.8016485262482025,0,1 +151,100,3291.9652858368854,3897.9432776410504,9.856668863961172,0,0.26473396020633844,0.736573077175806,9.042132590019838,0,1 +152,100,3490.5997316201665,4008.421176808425,9.78011554639762,0,1.2332121574620427,6.152354798176315,4.537865821823549,1,0 +153,100,4457.1271519769025,5237.322608123255,11.578471949307403,0,4.780968009933569,8.811758710128707,4.541131450210465,0,1 +154,100,3521.4722460325142,3260.410616885845,12.153329759558666,1,5.580443825935508,3.8442389065603915,7.409531416544217,0,1 +155,100,4856.583970161082,5619.3736789822615,13.176974415227482,1,5.77741211918768,4.403166928497591,1.1030530458970804,0,0 +156,100,6288.699266035842,5841.44471711933,15.15165435882498,0,7.222044515456588,4.8969387761531795,5.642705780327924,0,1 +157,100,6917.160229998115,6404.17117619874,13.010946105411415,1,4.453557312702329,6.021372480755105,8.904551157621274,0,1 +158,100,8580.691201223957,8201.176680515433,16.460504719127336,1,8.118671270371696,6.825822214243295,8.508898573113331,0,0 +159,100,4664.94065286352,4844.099710458668,11.850448044302432,0,2.5351413278342356,8.325678916293239,6.171974258449712,1,1 +160,100,12074.476052801303,13648.904016387885,13.639788698504733,1,1.8940593045849228,4.730783275724553,6.970038023084847,1,0 +161,100,2107.322449718774,4162.743444852758,8.9500634498934,0,1.8516825719777905,5.5523974161679615,1.9180154205510414,0,1 +162,100,6279.187235193722,6992.191526681294,15.597304847892234,1,7.023658305970124,9.724763998276183,5.842029860254204,0,0 +163,100,5220.611746491492,5972.7532292195765,12.962849894735042,1,4.766184543104558,6.2023811544956775,2.4572063590477384,0,1 +164,100,4549.517439586109,4094.5896149303944,12.980569010409285,0,7.143288872834308,5.531313073765541,3.7244217086420854,1,1 +165,100,9699.19010698969,9440.294882979259,14.10223899965973,1,4.248095754058324,1.6272733438698141,7.498324231730922,1,0 +166,100,2742.8955090377162,4449.312130217009,9.783557232938731,1,3.3658978093705234,5.008056759021672,2.045509808130631,0,1 +167,100,9719.276902507589,11455.284580351816,13.913866143262826,1,3.969453519960786,4.37750420065168,5.7497097784720985,1,1 +168,100,3548.8420973264283,3228.517662412744,9.901524952443733,0,0.8229287026925227,4.968840492437989,6.194838988771196,0,1 +169,100,3715.8577129934097,4867.007403836559,11.144541542417256,0,1.9755109460550722,3.4094747845010254,5.154875503057598,0,0 +170,100,9416.004624196456,8073.631031036719,13.244699996147334,0,1.442930970077672,3.1182017495858054,9.138811194841654,1,1 +171,100,2606.755095814242,3637.8135208109334,12.468804324810412,1,7.772532367419991,3.0311032088011673,2.299905034838547,1,1 +172,100,3836.6048173752497,5294.791256223592,11.974578178729077,0,3.3515500057118475,4.396581478637527,6.671629874942297,0,1 +173,100,15788.765254797207,11657.527167108356,17.26200972889094,1,7.142394261294255,8.421778370188349,4.749251679001337,1,1 +174,100,6846.8408106782945,5387.042743513291,15.263302683671972,1,8.68616875893034,7.760745127203258,4.2672409087031165,1,1 +175,100,5042.197937859863,8479.817466534067,12.480204114851102,0,4.460219006653846,3.9925145266741198,6.292045413494025,0,1 +176,100,4684.992130655429,5612.595266647488,13.61819012078654,1,5.796894047311976,1.047543110338311,2.3043498131594404,1,0 +177,100,5205.245119112871,4937.118069783274,11.223859823764469,1,0.955369096809161,2.721138118915017,1.6828184464132887,1,1 +178,100,8254.820675697525,8299.364291916176,13.402851793281098,0,2.7849719257353134,3.7251203680133873,3.6258251230370435,0,1 +179,100,6707.642714012442,9337.448291769626,14.54596705659988,1,5.158548790489286,5.292167149690834,9.045576217735778,0,1 +180,100,5236.274779677547,4753.6275874099,13.782356810588034,0,5.839131150759974,3.1807972752530245,5.157279937378575,1,1 +181,100,2532.2524409269954,3740.2324983859908,10.86893114097975,0,2.9330851353483323,9.352528235705389,5.928728174850139,1,1 +182,100,3850.486818962948,4211.887055396882,15.12367276513488,1,9.814890908096901,4.2353998375593,4.465622207332454,0,1 +183,100,3826.566308037372,6095.113021350251,11.967718297467444,0,3.7234123497655065,1.8826611682271177,6.309383600402507,0,1 +184,100,3810.903603782641,7161.9580475636485,12.66258700489874,0,5.181182427714609,4.601989728626647,2.4637197402434357,1,1 +185,100,2615.2133652181474,3382.872717179358,12.991944444576255,0,6.785901896509959,2.338781640987216,7.999591071781965,0,1 +186,100,5440.526370436758,4951.569239257368,12.725121082733946,1,4.926605797897124,5.439856309359714,6.61511231610895,1,1 +187,100,3892.210831747181,4828.059542450879,10.994276502485038,1,3.2303123798238937,5.656887530444408,2.81526438207593,1,1 +188,100,7686.225346282486,7136.688013148966,15.74924718362566,1,7.7522147470929745,5.995397317191248,5.153864141075233,1,1 +189,100,5787.183235283224,5869.960361020014,15.276436065569396,1,8.846517271204602,1.1437080458189886,6.957551635563912,0,1 +190,100,11835.09341261012,9793.736097284518,14.96908729954546,1,4.916239363595229,5.620776704153693,6.5435617325385635,1,1 +191,100,2830.606810532896,3476.6306974298313,12.792455932983522,0,6.555624685133521,5.870643736355493,8.627158713909894,0,1 +192,100,11826.237564338295,10125.339958900408,15.211880216395718,0,4.725362335324697,1.4805231435665986,3.310341051654835,0,1 +193,100,7284.854050372306,6643.518777780306,15.167405850515747,1,7.686630158181885,7.54494806177226,7.909458486083551,1,1 +194,100,10793.38243742387,11238.905288452286,13.141881456743105,0,2.0041302020697844,7.129167333401898,7.732398425384018,0,0 +195,100,6290.961458620722,7083.211332081773,12.817498774310547,1,3.335210970848082,9.60780472731524,4.542376722547146,1,0 +196,100,3373.2002355311456,3490.130833246618,10.81302544851094,1,1.413138549660384,5.441393293591616,2.4069481755552844,1,1 +197,100,3515.360408025521,3944.7717405498743,11.899315658872002,0,4.0174762342690045,5.131815419639071,2.1498177740091546,0,1 +198,100,7368.133190941582,6641.364706981902,14.904554806173449,1,5.413317329063969,5.272309627583235,6.274951313341083,1,0 +199,100,6099.923792599079,4911.275466481761,15.465261705824036,1,8.859012126378158,5.196748900413432,4.799416648269644,1,0 +200,100,4298.58154706991,4420.186232216749,14.462861270582733,1,7.440256643457809,0.8280683899723338,9.082554374882273,0,0 +201,200,8209.271398899262,8322.398272378017,14.42615070944615,1,4.576846423657821,5.583805644983615,0.5603381353237358,1,0 +202,200,23377.75162675892,18472.978487405628,16.468656524254413,1,7.7410724158877855,8.712843704663113,3.5914433407609185,1,1 +203,200,4343.543579178599,4774.575596410565,13.804098890749641,1,5.821008859724009,1.5973222819497293,7.90340385899413,0,1 +204,200,6958.820623997664,6095.367805341273,15.467031555883697,1,6.835128259727633,4.438244909947643,4.536846610366807,0,0 +205,200,26516.05528688492,24681.65323541862,14.797489126742068,0,3.359865326720936,6.738239912603264,3.9089626548887795,1,0 +206,200,16449.59520867885,16418.60637381704,17.675708854353314,1,8.791175022654155,9.059571856405903,8.423594349210143,0,0 +207,200,34723.39440726302,25962.326836944878,15.944586813151124,1,4.988747430994735,6.188518696219091,7.90975559401876,1,1 +208,200,7983.409395606317,7361.166057224115,15.242876631857007,1,7.2868496721221865,4.961202750961421,2.59137017366799,1,1 +209,200,12087.820498910349,10535.923227337289,15.336852391769247,1,4.717747950095126,4.1373758038875845,6.193569610313256,0,1 +210,200,5424.186445692916,7190.363826468417,13.297231059496548,0,4.214918874145839,6.156559852137251,1.8527934061346358,0,1 +211,200,16521.977924404157,16019.886720471797,16.19120110297062,1,7.129836533598022,7.623553249251586,3.6767572187350606,1,0 +212,200,19313.328980289385,15366.186150864569,13.691996444374482,1,1.2021427091465415,4.482407710132829,8.848119345800464,0,1 +213,200,19740.491664130757,15598.949877513955,15.99237365631981,1,6.330681027061026,5.461211754474274,8.571454882737584,1,1 +214,200,3954.2679085845075,6261.679826169998,13.190920077403154,0,6.0997902730102975,5.6102205558065235,7.893905150079405,1,0 +215,200,7751.640831053143,7927.29279000329,13.831989722170949,0,6.03061460402364,6.990575218321654,3.4214426776710742,1,0 +216,200,12476.885818703891,11777.820330192857,11.50498087321346,1,0.49457361043969406,7.899071878403177,0.7878087987714055,1,1 +217,200,9194.62687369045,8284.08157193938,16.109333576973913,1,6.811928937436892,5.783776626340147,1.9626341482292649,0,1 +218,200,14296.511937215988,16475.831782318433,15.818307558535741,1,3.735560306200156,4.785202021995395,7.538343708996904,0,0 +219,200,4826.1441577213245,7814.877847158479,11.789140671375423,0,3.0972955488860117,8.471157609700592,4.1845201118121205,0,1 +220,200,13312.064160485812,12442.927226808873,15.560367249776236,1,4.980686974961544,5.4633808918825535,0.4995398375468965,0,1 +221,200,7622.241726496546,9411.031695473263,15.770073019577064,1,8.431002472066902,8.787043799207138,4.492700507159636,1,1 +222,200,8129.069645317478,8184.2990256654575,14.06520871505845,1,3.251827980197564,4.825360005765777,8.499726616165573,1,1 +223,200,14801.139774399042,14387.959103924612,16.42181752385276,1,6.544552295465943,6.692115398316059,6.769430144533219,1,1 +224,200,6970.9146609596,7682.530569204619,14.433623995813866,1,5.9555922566624275,1.264547503534594,2.778569144636375,0,1 +225,200,9470.59724620107,10697.234815137143,11.615607469958421,1,0.969212047809994,4.683190741542122,1.2648303735022692,1,1 +226,200,13809.339371886665,12606.976141257437,13.626606128486348,0,0.6622817057699124,4.938520500938148,2.7655062502246244,0,0 +227,200,9831.883204098003,11184.174083003676,15.195889639699084,1,6.526371725922302,2.935741240483583,5.097393757834039,0,1 +228,200,11501.071519544857,10518.31684037761,14.16878901649519,1,4.902001663436763,2.269087219312311,7.384668735849478,0,0 +229,200,10333.722061048044,11710.641269634576,16.695748498211188,0,9.174537643832089,7.527990222841342,0.7197849475381869,0,1 +230,200,6283.526340573909,7992.006136064673,14.339847846080165,1,6.58590644642735,7.447306470664485,7.7020445345283,1,1 +231,200,4565.158335131761,4510.991452284402,14.505213950765611,1,7.2913869510598195,1.7116141130667442,5.015395959854497,1,1 +232,200,6807.895551719606,7523.822073211199,14.894137786087615,1,8.35766763754037,6.184056983238202,6.575572824704613,1,1 +233,200,16425.416885343704,14543.33713788378,14.567345590338162,0,3.6090235321012605,2.234778889631768,3.1703043148559202,0,1 +234,200,6497.116898988364,7454.067350482352,15.141589182685388,1,6.4161986767147585,6.457283348603054,3.7509869136782954,1,1 +235,200,5462.02344698657,7284.881511745612,15.120892400704863,1,7.337970201443137,3.12024220494258,7.749020029958312,1,1 +236,200,4496.891687676902,8719.524974845956,15.086036904025729,1,8.42406695898467,7.633785826250657,7.713374994713613,0,0 +237,200,9859.074400984788,11567.443136790072,16.482125024839554,1,7.075117368376639,5.108663265163866,6.213255612865558,1,0 +238,200,18215.567674035257,14340.808209535735,16.38909534907553,1,6.175238078047302,6.4860106793942505,8.828835549488922,1,1 +239,200,8810.540467459372,8011.165178048513,12.918336186972658,0,2.6634135828854184,3.5475007918879475,3.569533009727026,0,0 +240,200,10197.09690037155,9707.548727570622,15.955772141793389,1,6.9912950692814055,2.014708417627811,7.677656726515382,0,1 +241,200,9810.813545941719,9433.209003169592,15.827958574009308,1,6.389756475800491,7.448724248338268,4.8986229551658225,0,1 +242,200,9063.471881084204,10779.352761820925,16.517527924987345,1,6.7453688562033145,5.669279840627434,3.1685223304242682,1,1 +243,200,21993.102319233854,17340.62238871631,15.569666571826328,1,6.182055063485128,4.327938852150423,7.469297536479742,0,1 +244,200,22154.046901458245,23779.457394964964,15.823233414251554,1,4.43203117658782,5.195252527677445,8.446026839471305,1,1 +245,200,8215.580075999376,11224.334130362786,14.44451194598585,0,4.783242905040938,8.341341798094335,7.36091811579305,0,1 +246,200,14717.368092267401,13936.43272355872,16.277253919058197,1,6.883211677797529,3.0889943773217334,3.585667326265747,1,1 +247,200,7452.788306831202,11291.196407397529,13.470139286611099,1,5.483299347753819,2.958326011193038,3.692525122406318,1,1 +248,200,22962.758054122452,17236.760389073926,15.265584371591512,1,2.7567233666866815,3.292945540193643,8.439644239418358,1,1 +249,200,5278.836738672018,8505.554172264987,12.392399681934142,0,4.185655511607695,1.2015456747365851,5.9877862472678425,0,1 +250,200,30153.145582077905,27318.415124255684,14.91762980303145,0,1.6717884972402892,7.217399042507797,7.241958900850255,1,0 +251,200,7371.951997797979,6974.279307151979,13.150203218862549,1,2.4277067971653916,5.541447788916603,4.051189748883261,1,1 +252,200,8668.805248290519,9209.221276512939,14.780905107631913,1,4.592576529689572,5.5829011378688955,8.213416108232037,0,1 +253,200,6207.701816905771,8432.08243421734,10.748606707523777,0,0.8922967389190681,4.87773330324598,2.809546114424311,1,1 +254,200,12118.668178218077,11622.698728647252,13.581135400339358,1,1.0437181636347865,3.5836333084783663,6.722088895944066,1,1 +255,200,13332.82748825203,15052.938896108017,16.253627038735885,1,7.879754746210574,2.7732309492899643,2.7886715962824944,1,1 +256,200,32871.87854448492,25907.898042493605,14.973798515746246,1,3.406291692991092,7.2966732194680874,1.6259083847871711,1,0 +257,200,7171.278497283298,8576.708113584458,14.417481760886448,0,4.681864377584831,1.4713518026576184,5.384048970276291,1,1 +258,200,16942.370674350077,15834.96828294537,17.82911650951283,1,8.331979922918233,6.227434727573419,7.372225732900471,0,1 +259,200,12672.701596927698,11354.763592853526,15.888720562432239,1,6.8182869617707285,2.849734475285235,0.9550475775284323,0,1 +260,200,29321.414468464438,26481.42437102584,17.29453354587027,1,6.230384850730686,5.792533445254061,1.8059748070335928,0,1 +261,200,10163.702685198072,9048.579667671656,15.77288484538769,1,8.054335993164528,2.9804168606539996,9.062993642269163,1,1 +262,200,14607.565931436136,13740.405333396891,14.226125472069569,0,2.9026089528154775,3.5482645420216907,3.789988662273085,0,1 +263,200,5486.586483773231,6207.616964870593,14.23247012079122,0,6.991623016358376,9.069501661429328,6.4043775847042985,0,1 +264,200,12851.923109129337,10630.556376660195,14.175310937963365,1,3.378594604229306,6.833914093520549,3.5386380898740244,0,1 +265,200,7425.81894263422,9842.017694451728,14.367284069397416,1,5.00215570606778,5.3562576422869,4.1622675430351705,0,0 +266,200,21396.782289275034,18716.529132965537,18.965393346495,1,9.543464504186478,3.7412646478888223,5.245997888261016,1,1 +267,200,16804.810318023505,14415.448392709497,16.638436097238515,1,7.577907827185454,2.0460858798134725,5.030922549176221,0,1 +268,200,18294.956501209545,19050.193731017633,16.73384594698778,1,7.088605833425862,5.5902165433946145,4.458018309644155,1,1 +269,200,16950.35034183826,15527.511291768711,14.962906491158591,1,2.107607528211808,5.366250769734473,3.692501233164936,1,1 +270,200,9855.486345801282,13953.146596134951,13.381368748837813,0,2.8656655667037123,4.079367205635964,0.08297954396763986,1,1 +271,200,27567.53831876324,25416.33280471371,17.22918353058505,1,9.596654155217937,0.42975877947174607,9.196752505551265,1,1 +272,200,10911.098736145399,10483.797058773967,13.644745968011327,1,2.140639278783543,7.263238749724915,9.097573958726361,0,1 +273,200,10900.489909243186,11976.56631379606,14.673964622141154,1,5.603348242057016,4.1888107855155905,2.123504477102424,1,0 +274,200,8964.818050573082,11460.521583962702,15.113214546839025,1,7.395513024342368,6.803381779286967,4.526589431541404,0,1 +275,200,5335.16141873416,10053.204382659993,15.271481773853608,1,7.691896780377903,3.7353323454127163,8.435161092531496,0,1 +276,200,20678.951552258313,16375.40945306294,18.528239079292266,1,7.850108947290144,3.360691471623861,7.644893823202224,0,0 +277,200,7505.816733423624,6717.539342591004,13.273888075498943,0,4.540563581450756,1.0122686244075572,8.244585808405096,0,1 +278,200,8421.758265195354,14903.52019047372,13.68497714345657,0,2.7792412005278297,4.410727817982586,2.1884496752574454,0,1 +279,200,13336.35854199575,12190.61838016666,14.714739787922827,1,4.13820664123158,7.625045346555478,2.0529246899867366,1,1 +280,200,11855.081009261896,12598.777735636415,13.838841404275712,1,2.5815764689447604,8.93730010719896,7.053073774519614,0,0 +281,200,26494.75579088935,21928.34416732542,17.662710067585607,1,6.726585324472071,7.449233241192208,5.398050293970185,0,0 +282,200,5958.175034960825,7016.507671375174,15.049361750932064,0,7.9186494894534,7.9703618293917184,3.872423662745276,1,1 +283,200,11524.350565893483,12413.806485378433,15.009913976895387,1,6.024387939558229,7.420291688318153,3.9390402296651645,0,1 +284,200,21157.810129054113,20599.228344587184,14.498577197888427,1,2.6474902828318903,6.322640766207243,2.371032133634554,0,0 +285,200,18976.41704517491,15143.160757094203,17.454626156583252,1,7.704948008390015,3.390644803350197,5.252389597549633,1,0 +286,200,20518.90868802735,17137.207738200817,15.913036097576063,1,7.424807484579822,3.522582871166086,5.728261257375138,0,1 +287,200,15883.545656882052,15971.999002280625,15.701021276849122,1,4.330225450892959,1.176458909069459,5.58978825143452,1,1 +288,200,6827.705059982319,7010.872127784807,11.144837609760392,1,1.245279248047586,4.983588588810913,3.9507044873409667,1,1 +289,200,6202.143439618309,8149.541166089684,14.62608903120947,1,7.071736434980718,7.411837300196832,2.0517114909158787,1,0 +290,200,6157.286698573333,7122.588320682675,13.052717541912152,1,4.171913183980421,7.721899655826307,5.7129551269405985,1,1 +291,200,10041.566982926312,10756.806801492614,16.040980567352204,1,6.486261471953715,5.268217302827755,0.5614389989821496,0,1 +292,200,15847.644528301007,14640.586108341708,15.19173189210099,1,4.225319467208315,3.483347212306582,1.4851276475626516,1,0 +293,200,20494.340012082517,18546.94537094055,16.853035593819975,1,6.870192700236892,7.009415030275688,2.1780928892416243,1,1 +294,200,9971.665294350536,12041.395213304795,14.820833101118406,0,4.669404747979894,8.518511600993799,2.1730182191119334,0,0 +295,200,16732.17656896973,14806.876339355596,14.674472765743165,1,4.03469627651173,4.054010832055208,5.3021636287500105,0,1 +296,200,10503.197377222577,10136.704050771586,14.801357049987525,1,5.314638003431375,4.892932897141423,8.819838672110826,0,1 +297,200,13701.239434680874,14731.05386247037,15.431274637110244,1,4.204422398694544,6.2500264797780725,1.315797420368382,1,1 +298,200,15385.354996706206,14096.836686655057,14.962427465084145,1,3.368207978784787,8.938698286787112,6.20940296122607,0,1 +299,200,13790.521789428753,14149.726620577354,14.17094075139025,0,4.11415469236427,4.126517223067106,7.412291656336717,0,1 +300,200,17976.821947309516,17996.076675953183,15.987380432650369,1,4.97700325782903,7.300974570491798,2.375348353446779,0,0 +301,300,12165.25896801418,13745.081836954652,13.004163704906903,1,1.6617264642314922,5.040121019122167,3.6635920989564204,1,1 +302,300,29560.536381920163,26419.082407771337,15.856120093493818,1,4.629976371704361,3.6207683939785023,6.261422395689906,1,1 +303,300,17374.235610580523,16973.600625535022,14.835582041723546,0,2.6396033820922264,4.0178387018989605,5.4040023449439465,1,1 +304,300,24892.296216935887,20269.825350697396,14.797419496491433,0,2.839364576459753,6.094729752325873,6.541649402607643,1,0 +305,300,36934.88731664107,34616.55521743809,17.891509000730583,1,7.7617685810247625,5.589637113640483,4.236060571010272,0,1 +306,300,20868.22127890274,28548.88422844236,16.648225619507915,1,5.494400202216409,4.437682784421077,3.217983764611276,1,1 +307,300,14488.796286477133,18477.58469248013,13.359280217134923,0,2.25108557848423,2.531111934962899,5.202934116389359,0,1 +308,300,39683.23282798002,35945.22689134028,16.72970418013026,1,3.6954807818868995,5.467223480836103,5.584700359588863,1,0 +309,300,34333.47249963378,28250.486304266604,17.077632384009025,1,4.200258253252075,6.929401572872285,4.478275468974257,1,0 +310,300,16751.534711677505,17411.43858346646,14.947182976443564,1,3.1350212559480855,3.7090609575495517,5.088687166765212,1,1 +311,300,9619.636227971045,11759.57741890867,13.491367114322879,1,2.434675062610122,4.085322095444034,6.148479772559879,1,1 +312,300,19188.1719762519,15549.928072402376,15.453715354617241,1,4.853887165436772,7.371187022395759,2.890849833707267,0,1 +313,300,25700.502408292003,24749.615863820854,17.4091333026635,1,7.020862321610841,8.253907683776733,7.960494367764381,1,1 +314,300,9619.119436670162,14740.100384777015,14.630932211305485,0,5.6379414903468845,3.190985625331063,8.61896124453149,0,1 +315,300,18484.07661831599,15179.431495729576,15.583431298308739,1,4.43676640344995,6.824294067056863,3.734191770394882,0,1 +316,300,43030.19016596144,39086.11399032283,16.84818549206475,1,6.084032002386403,3.43669617970646,5.1528624170765625,1,1 +317,300,11432.293409223617,12223.807567400952,16.37899786658579,1,7.15352656260047,2.4390673059526313,7.365815930196188,1,1 +318,300,14788.212552158493,16662.94385412065,15.518735766553528,1,4.604091565641033,6.716874181565721,7.113973871746401,1,1 +319,300,8829.733507983281,12689.179038732791,15.638528788813334,1,6.269573902003725,5.300218269373902,1.850123326607941,1,1 +320,300,12292.189439992066,14803.18080169706,14.549352142780462,0,2.026822942112406,6.08817608428792,2.0970640378291523,0,1 +321,300,17006.253623937708,15708.777557644493,14.921788931651792,1,4.298409400922215,3.396004534900472,5.3768777868000575,0,1 +322,300,12924.818173286343,12863.580528254368,15.033241079839536,1,3.8270792459470466,9.103567379697994,6.7240001525964175,0,0 +323,300,18559.90371057664,17763.59700760282,15.288648459276487,1,5.550678791770228,6.826154353143589,7.348021939577631,0,1 +324,300,44567.84080224804,33432.07036763524,16.947752791255844,1,6.000169835053462,3.952816394428615,7.209389704558836,1,1 +325,300,18763.3607975295,17997.864147176275,16.041325034210473,1,4.651602924563358,6.922770087948479,2.425500953628389,1,1 +326,300,9814.15659399835,12353.61999476267,13.193179033877126,1,2.915907862324824,1.8814824999165274,1.684465936218574,0,0 +327,300,21296.834569946594,18359.31251842986,14.849416487028757,0,2.5156432827750628,4.6118607822564055,0.641408073829599,1,1 +328,300,20568.022152649137,25888.81331449512,15.812643052297409,1,5.781996178866821,8.487143793392615,6.402313694039802,1,1 +329,300,13075.206958453306,12182.757828853315,16.672487575073657,1,8.40048136626599,4.46844532337232,7.238352946982388,1,0 +330,300,14898.726344480012,15821.547402211978,14.294764574439125,1,2.8634155725666597,7.438535803779879,5.940933618633566,1,0 +331,300,12753.378190907843,13382.892254585382,14.268392294347946,1,3.9242596900443747,4.375838393803196,2.2166819711255124,0,0 +332,300,26195.33398489505,21134.480052694806,15.665688025653429,1,5.926644108504782,0.3933298053620754,3.9645184192736975,1,1 +333,300,18395.08090198922,17022.577246115514,15.067799891631802,0,3.4647164923990923,2.6343309109246564,9.082468631388727,0,0 +334,300,24996.12693951809,32876.11811739291,16.529276537784614,1,5.342642143333594,5.626436333236472,6.526712213882454,0,1 +335,300,12568.470177859681,16176.795130705468,15.087009307364623,1,4.865752240243183,8.56511039731245,8.06812297764113,1,1 +336,300,9718.897627895272,10871.595534390233,13.28527994140492,1,2.8906799366458773,3.361911854078738,5.9264275494811125,0,1 +337,300,29537.102201026875,30886.80404958155,17.880673169789773,1,7.246560465897039,5.7749268012615484,4.817665601417173,1,1 +338,300,5748.317521008416,10493.913209133614,15.077040221604033,1,7.283089125551737,2.432882837758738,2.3223183383235653,0,1 +339,300,17838.099514477006,17371.880412025632,15.833595038944392,1,7.704183374014861,2.3133674733023186,3.4543547183696734,1,1 +340,300,38904.400890718076,34799.199545053045,18.743678268035595,1,8.227392282518487,2.8880078054774536,4.867129079954179,1,1 +341,300,12126.031558462973,14460.883137235047,13.426686294888468,0,3.5938432837800587,8.423523397425729,5.791876936307208,1,0 +342,300,43377.02216007129,34490.8552719332,15.83688162300297,1,3.706895886358846,7.509462167201736,4.906296596454219,0,1 +343,300,7005.142322531736,9650.785611885938,13.677665835042351,1,5.733833762553269,6.638782260351767,4.498913887263775,1,1 +344,300,11925.567661657413,13899.363650192088,15.540496743228358,1,6.734468087347215,7.907987987806808,5.516547138538815,0,1 +345,300,11959.857898880386,14964.633365871654,15.17647257490661,0,4.04863733927543,3.8158169108431657,3.545503753451011,0,1 +346,300,35522.85169145109,28967.390450166477,16.164566044937096,1,3.8187641409057793,7.067366001666958,3.514554633597788,0,0 +347,300,41957.05651835512,34838.87034648197,16.024806154838156,1,3.296469747910344,5.589778299646108,7.282999936454018,1,1 +348,300,22241.85505243707,20584.398580215282,16.750532411304047,1,8.627622221640676,2.2392226465321285,5.132376098907868,0,1 +349,300,12451.717282616864,14233.801638864388,14.930843288817625,0,4.528075480811905,2.7543733680791127,4.764200353465234,0,1 +350,300,14632.683466621782,19096.35208461179,15.721529700531459,1,5.107787028373085,5.141175285446637,2.9798381199576958,1,1 +351,300,10897.621569217765,16057.783563925308,13.853278070613952,1,2.2155937050106393,5.5785851792987735,4.3036442293887935,1,1 +352,300,23364.067846544007,24189.290991920418,16.090336255742358,1,6.077461802019259,4.0991438960012685,2.1550438106450778,1,1 +353,300,22533.33982104565,18813.671456836437,14.30608385927204,0,0.6896993061766031,2.3592574332800034,2.2387799092641254,1,1 +354,300,16348.520198082508,15413.56041245594,16.108660022490888,1,7.5440156427450304,0.5640192066928705,7.606480599426786,0,1 +355,300,20327.45810498077,24072.308500236308,14.765527416619864,1,1.0807770397385408,6.186394138034357,5.354996530307087,0,0 +356,300,22855.996972034824,25806.558430781588,14.572548972055998,1,2.9225827340522663,4.171458275162509,2.089146347359691,1,1 +357,300,23636.628741208933,22375.416810805305,16.66340396186959,1,5.4564926112612335,6.520740165186025,6.720098748394086,1,0 +358,300,18665.420740570087,20382.577953255146,14.998891940851745,1,3.209478314271692,1.2648712872783994,7.023874537039008,0,0 +359,300,14294.714844867749,15375.280360516288,14.007925547640715,1,3.452299218247541,1.802109132281902,4.365080790565605,0,1 +360,300,20342.76175050648,16384.000464138884,16.895741609965025,1,5.9336224187940605,4.6861743661032556,3.820054390158627,1,1 +361,300,28227.645669854206,23495.813584564352,14.884109740551832,1,2.2171834467231566,1.495581819163721,4.723558914087529,0,1 +362,300,15143.83733171464,15400.198968041026,15.6987241438911,1,4.757931015073547,0.6725436621264774,6.130259422369127,0,1 +363,300,9283.50055410312,11033.194577460996,15.264649380754301,1,6.3336155523310325,7.12772681267332,7.168472583471895,0,1 +364,300,18996.88719875676,23348.886234339578,18.191866500357616,1,8.993967426578921,7.415473573596883,8.805576350871716,1,1 +365,300,15991.829833488313,17094.48373520319,16.14121961444791,1,6.262393409089084,2.2825534156164955,3.5865623275184944,1,1 +366,300,32572.41468155073,24359.008171044192,16.959322274648766,1,4.990856917557221,4.235984988949531,2.315407834582683,1,1 +367,300,11614.311802989258,10036.388323199299,12.474055649487644,0,0.4237968696579822,2.051815976220322,5.284341717596561,0,0 +368,300,23736.642545036328,20401.76873747153,14.751792421531182,1,1.8605677508677991,5.887202316443309,3.804387258062752,0,1 +369,300,22839.364781942804,19649.74791535477,15.751825567998678,0,4.105776088873533,4.916283501748959,4.316689386087194,0,0 +370,300,20492.683056024984,22153.71705528489,17.262372259827295,1,6.947166342534725,2.660408191070896,3.668840261243314,1,0 +371,300,17456.697454357836,18763.345165358118,14.873232369664345,1,4.095946812192366,2.8957858010046698,3.0575771013751623,1,1 +372,300,18493.25151258258,19127.267929701557,16.563554232524545,1,6.506039270330609,2.2100533158516895,4.40570161481345,1,0 +373,300,28055.62758893708,23892.86502942624,14.56517611441008,1,2.206178944213633,6.216751686831437,8.886794671961196,1,1 +374,300,16285.975048650585,14577.343587046016,15.59762232687645,1,4.2302181066561015,6.578835771847997,5.8467884303050734,1,0 +375,300,42142.31553441419,32825.28309272522,16.619981304551285,1,5.610415468942813,6.052879680192601,6.354888332778655,1,1 +376,300,8057.927864664029,12023.981722982855,14.54586877219256,1,3.9941379748886567,2.725292598430851,7.264507761508025,1,1 +377,300,17547.989347323324,15885.48889334137,16.197887550492915,1,5.318046878823711,0.9080504397950627,9.417750052546483,1,0 +378,300,10668.338741419853,10874.128033369358,13.846035245602971,1,3.159702149508177,6.471909019833805,7.1077320950150895,0,1 +379,300,12611.213844034357,14343.163816051598,16.218599584540165,1,6.047026420444653,4.501474769652831,1.4696811707999218,0,1 +380,300,26614.15505534205,21584.120035431843,16.03683907538272,1,4.7714393663982015,4.888886706073818,2.274491626620848,0,1 +381,300,10963.347143918963,9932.969316967865,15.04207946796538,1,4.867294036548311,7.722366397516628,1.1944458754084462,1,1 +382,300,18143.93236787625,14522.633895319585,13.812672628569397,1,0.709878654109487,2.6022112312043184,0.1303831272393341,1,1 +383,300,14399.596258630094,17591.60580374889,14.613631103894086,1,3.152145266452795,7.96982998964193,3.627865317595385,1,0 +384,300,12773.033607591628,16379.629769155965,12.996606850411446,1,1.3595385163875793,3.8464918010929723,6.1036394288398395,1,1 +385,300,15830.261441853803,12921.363688189946,12.941861300069709,0,1.1688051672647148,3.0504867447611668,8.049855848878297,0,1 +386,300,22538.231172463747,21306.77343223975,14.465658277973791,1,3.6274361867491525,4.42108988235164,3.579141120969666,0,1 +387,300,41143.342518825644,32641.791986715947,16.159338776424054,1,4.547106756612444,6.09006546985033,4.619683455639551,0,0 +388,300,10026.25456445505,12624.711271869193,15.387661509590945,1,5.796119451164186,4.416976683569073,5.980699097346058,1,1 +389,300,9475.48020257441,9979.983853911916,15.839557676877337,1,7.854861496049223,2.58539619493704,5.6352229205570765,1,0 +390,300,18094.876190014995,23309.455348879965,15.707245624349541,1,6.238591142785923,4.209373585429786,2.895540453102141,1,1 +391,300,9637.50186573593,9434.096854494011,16.98344353258493,1,7.676586479187717,3.5880638764397457,6.994490111986153,1,1 +392,300,10905.433262159897,10412.420297190769,14.437575454348057,0,3.5403118719719506,6.270010832128166,6.511340189024205,0,1 +393,300,13414.68561944681,12302.565090408878,15.744692331253592,1,4.136590519113031,4.523355801742015,4.190405389288239,0,0 +394,300,12067.329074494255,12211.30123825197,17.0376853169457,1,7.8413821125192005,6.885694329337884,1.8652530569161323,1,1 +395,300,21828.826025910188,20834.30449147564,15.647355841529734,1,5.003405403324509,6.351253759436382,6.742973183571793,1,0 +396,300,21035.18448537458,18035.49051405953,13.72420595960963,0,1.0558358377240693,6.775107056113479,8.531054609182933,1,1 +397,300,24442.853035245673,21743.76663201518,14.231482777916375,0,2.716303896599326,6.802164483799482,8.444941598769688,0,1 +398,300,12220.207631252648,13190.771528298525,16.737331216118008,1,7.666308334112778,0.9725964441999302,7.3473008639358195,0,0 +399,300,10527.280218634103,11609.786851672057,14.716516532807573,1,3.316254578128906,5.011734217832878,3.656434015517927,0,0 +400,300,15643.107979285553,24379.053550504603,15.470561617765615,1,5.934283378860381,8.868922645556612,3.5268301749575315,0,1 diff --git a/data/d_sim_placebo.rda b/data/d_sim_placebo.rda new file mode 100644 index 0000000000000000000000000000000000000000..88989fa3157372d1fab0e99d3db2b9c750365bcd GIT binary patch literal 18034 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 Date: Thu, 27 Nov 2025 14:04:41 +1100 Subject: [PATCH 5/7] include placebo data in pkgdown site --- _pkgdown.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/_pkgdown.yml b/_pkgdown.yml index d68c3a5..7b2f97a 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -73,6 +73,7 @@ reference: - d_sim_binom_cov - d_sim_lin - d_sim_emax + - d_sim_placebo - title: S3 methods contents: - ermod_method From 52c271efb89926b3d8a184bf2e302e6be670409b Mon Sep 17 00:00:00 2001 From: Danielle Navarro Date: Thu, 27 Nov 2025 14:08:16 +1100 Subject: [PATCH 6/7] linter fixeds --- R/plot_ermod.R | 46 ++++++++++++++++++++-------------------- R/yyy.R | 5 ++--- data-raw/d_sim_placebo.R | 11 +++++----- 3 files changed, 30 insertions(+), 32 deletions(-) diff --git a/R/plot_ermod.R b/R/plot_ermod.R index bae35cd..9a56a84 100644 --- a/R/plot_ermod.R +++ b/R/plot_ermod.R @@ -337,7 +337,7 @@ plot_er.ersim_med_qi <- function( # binned probability ------------------------------------------------------ if (is.null(bin_breaks)) { bin_breaks <- stats::quantile( - origdata[[var_exposure]], + origdata[[var_exposure]], probs = seq(0, 1, 1 / n_bins) ) } @@ -353,33 +353,33 @@ plot_er.ersim_med_qi <- function( gg <- gg + ggplot2::geom_vline( - xintercept = bin_breaks, + xintercept = bin_breaks, linetype = "dashed", alpha = 0.3 ) + xgxr::xgx_stat_ci( data = origdata, ggplot2::aes( - x = .data[[var_exposure]], + x = .data[[var_exposure]], y = .data[[".resp_num"]] ), - breaks = bin_breaks, - conf_level = qi_width, - distribution = "binomial", - geom = c("point"), - shape = 0, + breaks = bin_breaks, + conf_level = qi_width, + distribution = "binomial", + geom = c("point"), + shape = 0, size = 4 ) + xgxr::xgx_stat_ci( data = origdata, ggplot2::aes( - x = .data[[var_exposure]], + x = .data[[var_exposure]], y = .data[[".resp_num"]] ), - breaks = bin_breaks, - conf_level = qi_width, - distribution = "binomial", - geom = c("errorbar"), + breaks = bin_breaks, + conf_level = qi_width, + distribution = "binomial", + geom = c("errorbar"), linewidth = 0.5 ) @@ -631,16 +631,16 @@ plot_er.ermod <- function( #' } #' plot_er_gof <- function( - x, add_boxplot = !is.null(var_group), + x, add_boxplot = !is.null(var_group), boxplot_height = 0.15, show_boxplot_y_title = FALSE, - var_group = NULL, - n_bins = 4, + var_group = NULL, + n_bins = 4, bin_breaks = NULL, qi_width_obs = 0.95, show_coef_exp = FALSE, - coef_pos_x = NULL, - coef_pos_y = NULL, + coef_pos_x = NULL, + coef_pos_y = NULL, coef_size = 4, qi_width_coef = 0.95, qi_width_sim = 0.95, @@ -651,22 +651,22 @@ plot_er_gof <- function( show_coef_exp = show_coef_exp, show_caption = show_caption, options_orig_data = list( - add_boxplot = add_boxplot, + add_boxplot = add_boxplot, boxplot_height = boxplot_height, show_boxplot_y_title = show_boxplot_y_title, var_group = var_group, - n_bins = n_bins, + n_bins = n_bins, bin_breaks = bin_breaks, qi_width = qi_width_obs ), options_coef_exp = list( - qi_width = qi_width_coef, - pos_x = coef_pos_x, + qi_width = qi_width_coef, + pos_x = coef_pos_x, pos_y = coef_pos_y, size = coef_size ), options_caption = list( - orig_data_summary = TRUE, + orig_data_summary = TRUE, coef_exp = show_coef_exp ), qi_width_sim = qi_width_sim diff --git a/R/yyy.R b/R/yyy.R index f597fff..e77e1bc 100644 --- a/R/yyy.R +++ b/R/yyy.R @@ -165,8 +165,8 @@ if (getRversion() >= "2.15.1") { #' @details #' #' This simulated dataset is entirely synthetic. It is a generic data set that can be used -#' to illustrate Emax modeling with placebo data. It contains variables corresponding to -#' dose and exposure, and includes both a continuous response variable and a binary response +#' to illustrate Emax modeling with placebo data. It contains variables corresponding to +#' dose and exposure, and includes both a continuous response variable and a binary response #' variable. Three continuous valued covariates are included, along with two binary covariates. #' Data from two exposure metrics are included. #' @@ -176,4 +176,3 @@ if (getRversion() >= "2.15.1") { #' @examples #' d_sim_placebo "d_sim_placebo" - diff --git a/data-raw/d_sim_placebo.R b/data-raw/d_sim_placebo.R index 00e5408..7ef2b7d 100644 --- a/data-raw/d_sim_placebo.R +++ b/data-raw/d_sim_placebo.R @@ -121,12 +121,12 @@ d_sim_placebo <- local({ # generate data ----------------------------------------------------------- d_sim_placebo <- simulate_data() - d_sim_placebo <- d_sim_placebo |> - dplyr::mutate(id = dplyr::row_number()) |> - dplyr::relocate(response_1, response_2, .after = exposure_2) |> - dplyr::relocate(id, 1) |> + d_sim_placebo <- d_sim_placebo |> + dplyr::mutate(id = dplyr::row_number()) |> + dplyr::relocate(response_1, response_2, .after = exposure_2) |> + dplyr::relocate(id, 1) |> dplyr::rename( - exp_1 = exposure_1, + exp_1 = exposure_1, exp_2 = exposure_2, rsp_1 = response_1, rsp_2 = response_2 @@ -137,4 +137,3 @@ d_sim_placebo <- local({ readr::write_csv(d_sim_placebo, "data-raw/d_sim_placebo.csv") usethis::use_data(d_sim_placebo, overwrite = TRUE) - From 0cbb2bbc4b0a113be821c0cf9338e64f040d2d3d Mon Sep 17 00:00:00 2001 From: Danielle Navarro Date: Thu, 27 Nov 2025 18:51:32 +1100 Subject: [PATCH 7/7] dummy commit to trigger gha --- R/plot_ermod.R | 1 - 1 file changed, 1 deletion(-) diff --git a/R/plot_ermod.R b/R/plot_ermod.R index 9a56a84..255c805 100644 --- a/R/plot_ermod.R +++ b/R/plot_ermod.R @@ -306,7 +306,6 @@ plot_er.ersim_med_qi <- function( return(caption) } - .plot_er_binary <- function( gg, x, origdata, show_orig_data, options_orig_data) { var_resp <- extract_var_resp(x)