Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor cox regression functions to fix table structure #882

Merged
merged 31 commits into from
Apr 26, 2023

Conversation

edelarua
Copy link
Contributor

@edelarua edelarua commented Apr 20, 2023

Closes #841

Downstream updates needed:

@edelarua edelarua added the sme label Apr 20, 2023
@github-actions
Copy link
Contributor

github-actions bot commented Apr 20, 2023

badge

Code Coverage Summary

Filename                                   Stmts    Miss  Cover    Missing
---------------------------------------  -------  ------  -------  ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
R/abnormal_by_baseline.R                      63       0  100.00%
R/abnormal_by_marked.R                        52       5  90.38%   126-130
R/abnormal_by_worst_grade_worsen.R           113       3  97.35%   230-232
R/abnormal_by_worst_grade.R                   37       0  100.00%
R/abnormal.R                                  40       0  100.00%
R/analyze_vars_in_cols.R                      37       1  97.30%   114
R/combination_function.R                       9       0  100.00%
R/compare_variables.R                        138       3  97.83%   132, 242, 259
R/control_incidence_rate.R                    10       0  100.00%
R/control_logistic.R                           7       0  100.00%
R/control_step.R                              23       1  95.65%   58
R/control_survival.R                          15       0  100.00%
R/count_cumulative.R                          47       1  97.87%   61
R/count_missed_doses.R                        31       0  100.00%
R/count_occurrences_by_grade.R                84       6  92.86%   152-154, 157, 172-173
R/count_occurrences.R                         61       1  98.36%   90
R/count_patients_events_in_cols.R             67       1  98.51%   73
R/count_patients_with_event.R                 72       0  100.00%
R/count_values.R                              24       0  100.00%
R/cox_regression_inter.R                     142       0  100.00%
R/cox_regression.R                           161       0  100.00%
R/coxph.R                                    168       7  95.83%   224-228, 272, 287, 295, 301-302
R/d_pkparam.R                                406       0  100.00%
R/decorate_grob.R                            167       6  96.41%   269-275, 382, 414, 424, 431
R/desctools_binom_diff.R                     663      66  90.05%   66, 101-102, 142-143, 146, 225, 251-260, 299, 301, 321, 325, 329, 333, 390, 393, 396, 399, 460, 468, 480-481, 487-490, 498, 501, 510, 513, 561-562, 564-565, 567-568, 570-571, 641, 653-666, 671, 718, 731, 735
R/df_explicit_na.R                            30       0  100.00%
R/estimate_multinomial_rsp.R                  47       1  97.87%   56
R/estimate_proportion.R                      198      11  94.44%   71-78, 82, 87, 451, 552
R/fit_rsp_step.R                              36       0  100.00%
R/fit_survival_step.R                         36       0  100.00%
R/formats.R                                  115       3  97.39%   101, 138, 148
R/g_forest.R                                 437      23  94.74%   195, 246-247, 314, 331-332, 337-338, 351, 367, 414, 445, 521, 530, 611-615, 625, 693, 696, 820
R/g_lineplot.R                               199      29  85.43%   162, 175, 203, 229-232, 309-316, 334-335, 341-351, 449, 457
R/g_step.R                                    68       1  98.53%   107
R/g_waterfall.R                               47       0  100.00%
R/h_adsl_adlb_merge_using_worst_flag.R        74       0  100.00%
R/h_biomarkers_subgroups.R                    38       0  100.00%
R/h_cox_regression.R                         110       0  100.00%
R/h_logistic_regression.R                    468       3  99.36%   197-198, 265
R/h_map_for_count_abnormal.R                  54       0  100.00%
R/h_pkparam_sort.R                            15       0  100.00%
R/h_response_biomarkers_subgroups.R           74       0  100.00%
R/h_response_subgroups.R                     171      12  92.98%   242-255
R/h_stack_by_baskets.R                        65       1  98.46%   93
R/h_step.R                                   180       0  100.00%
R/h_survival_biomarkers_subgroups.R           78       0  100.00%
R/h_survival_duration_subgroups.R            200      12  94.00%   249-261
R/incidence_rate.R                            93       7  92.47%   69-76
R/individual_patient_plot.R                  133       0  100.00%
R/kaplan_meier_plot.R                        567      61  89.24%   258-293, 302-306, 501, 668-670, 678-680, 706, 713-714, 885, 1066, 1304-1315
R/logistic_regression.R                      101       0  100.00%
R/missing_data.R                              21       3  85.71%   30, 61, 71
R/odds_ratio.R                               106       0  100.00%
R/prop_diff_test.R                            88       0  100.00%
R/prop_diff.R                                255      12  95.29%   95, 250-257, 396, 458, 567
R/prune_occurrences.R                         57      10  82.46%   130-134, 174-178
R/response_biomarkers_subgroups.R             59       0  100.00%
R/response_subgroups.R                       165       4  97.58%   262, 304-306
R/rtables_access.R                            38       4  89.47%   142-145
R/score_occurrences.R                         20       1  95.00%   114
R/split_cols_by_groups.R                      49       0  100.00%
R/stat.R                                      47       3  93.62%   76-77, 132
R/summarize_ancova.R                          95       1  98.95%   192
R/summarize_change.R                          27       0  100.00%
R/summarize_colvars.R                          6       0  100.00%
R/summarize_coxreg.R                         138       0  100.00%
R/summarize_glm_count.R                      164       4  97.56%   180, 185, 247, 316
R/summarize_num_patients.R                    68       5  92.65%   97-99, 193-194
R/summarize_patients_exposure_in_cols.R       47       0  100.00%
R/summarize_variables.R                      217       2  99.08%   269, 481
R/survival_biomarkers_subgroups.R             59       0  100.00%
R/survival_coxph_pairwise.R                   73       9  87.67%   66-74
R/survival_duration_subgroups.R              172       0  100.00%
R/survival_time.R                             47       0  100.00%
R/survival_timepoint.R                       114       7  93.86%   149-155
R/utils_checkmate.R                           68       0  100.00%
R/utils_factor.R                              87       1  98.85%   93
R/utils_grid.R                               111       5  95.50%   148, 257-263
R/utils_rtables.R                             86       7  91.86%   25, 32-36, 346-347
R/utils.R                                    137      10  92.70%   100, 102, 106, 126, 129, 132, 136, 145-146, 332
TOTAL                                       8892     353  96.03%

Diff against main

Filename                    Stmts    Miss  Cover
------------------------  -------  ------  --------
R/cox_regression_inter.R        0      -6  +4.23%
R/cox_regression.R            -47     -11  +5.29%
R/summarize_coxreg.R         +138       0  +100.00%
TOTAL                         +91     -17  +0.23%

Results for commit: a65d4a3

Minimum allowed coverage is 80%

♻️ This comment has been updated with latest results

@github-actions
Copy link
Contributor

github-actions bot commented Apr 20, 2023

Unit Tests Summary

       1 files    77 suites   1m 0s ⏱️
   725 tests 725 ✔️     0 💤 0
1 539 runs  970 ✔️ 569 💤 0

Results for commit 9d0e660.

♻️ This comment has been updated with latest results.

R/argument_convention.R Outdated Show resolved Hide resolved
@Melkiades Melkiades self-requested a review April 24, 2023 14:01
R/summarize_coxreg.R Outdated Show resolved Hide resolved
Copy link
Contributor

@Melkiades Melkiades left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it is very good. I would only add some cross-links in the param explanations to bind it a bit more clearly to the fit_*. Maybe also a couple of simple examples for some variables, but up to you. The result is great though, as you manage to keep the old framework and fix the structure and naming issues! Thanks, @edelarua

@edelarua
Copy link
Contributor Author

Hi @Melkiades,

One minor change - I added model caching in which decreases time to run summarize_coxreg tests from ~17 seconds to ~7 seconds. I re-ran all tests and didn't find any changes, but if you want to re-test as well you can (sorry for making more changes after you already reviewed!).

I also added in a few more examples for the different s_coxreg options as you requested.

R/summarize_coxreg.R Outdated Show resolved Hide resolved
@Melkiades
Copy link
Contributor

Melkiades commented Apr 26, 2023

One minor change - I added model caching in which decreases time to run summarize_coxreg tests from ~17 seconds to ~7 seconds. I re-ran all tests and didn't find any changes, but if you want to re-test as well you can (sorry for making more changes after you already reviewed!).

No problem at all! This is a very good idea and if it is not there, it should be extended to other similar layout-generating s_* functions. This may solve other computation issues in other functions (fit_* family e.g.)

I also did change the df parameter because I think it is different from the analysis data frame that is already documented.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Refactor summarize_coxreg
3 participants