Genentech / jmpost

https://genentech.github.io/jmpost/
17 stars 4 forks source link

Document interfaces for custom longitudinal models #318

Closed gowerc closed 6 months ago

gowerc commented 6 months ago

Closes #316

@danielinteractive - Would appreciate potentially a bit more scrutiny on this one as I imagine this is an area that users are likely to dabble in with 3rd party models that we haven't yet implemented. It is also quite a bit more complicated to explain than the survival models so would appreciate it if you could highlight areas that don't make sense or need further clarification.

github-actions[bot] commented 6 months ago

badge

Code Coverage Summary

Filename                           Stmts    Miss  Cover    Missing
-------------------------------  -------  ------  -------  --------------------------------
R/brier_score.R                      166       0  100.00%
R/DataJoint.R                         76       2  97.37%   264, 270
R/DataLongitudinal.R                 119       1  99.16%   244
R/DataSubject.R                       85       1  98.82%   142
R/DataSurvival.R                      98       0  100.00%
R/defaults.R                          10       6  40.00%   18-57, 84
R/generics.R                          31       4  87.10%   51, 395, 414, 449
R/Grid.R                              27       1  96.30%   170
R/GridEven.R                          32       0  100.00%
R/GridFixed.R                         30       0  100.00%
R/GridGrouped.R                       52       0  100.00%
R/GridManual.R                        23       3  86.96%   78-80
R/GridObserved.R                      20       0  100.00%
R/GridPopulation.R                    31       4  87.10%   61, 69-71
R/GridPrediction.R                    36       6  83.33%   83, 91-95
R/JointModel.R                       123       8  93.50%   141-143, 193, 197, 239, 285, 291
R/JointModelSamples.R                 59       0  100.00%
R/link_generics.R                     10       2  80.00%   59, 76
R/Link.R                              62       4  93.55%   200-203
R/LinkComponent.R                     19       3  84.21%   88, 120-121
R/LongitudinalGSF.R                   77       0  100.00%
R/LongitudinalModel.R                 19       0  100.00%
R/LongitudinalQuantities.R            71       0  100.00%
R/LongitudinalRandomSlope.R           36       0  100.00%
R/LongitudinalSteinFojo.R             70       5  92.86%   143-147
R/Parameter.R                         14       0  100.00%
R/ParameterList.R                     42       1  97.62%   184
R/Prior.R                            236       8  96.61%   481, 577, 589-607
R/Promise.R                           25       0  100.00%
R/Quantities.R                        60       0  100.00%
R/QuantityGeneratorPopulation.R       22       0  100.00%
R/QuantityGeneratorPrediction.R       48       0  100.00%
R/QuantityGeneratorSubject.R          19       0  100.00%
R/settings.R                          12      12  0.00%    55-69
R/SimGroup.R                           5       0  100.00%
R/SimJointData.R                      72       1  98.61%   103
R/SimLongitudinal.R                    5       2  60.00%   22, 40
R/SimLongitudinalGSF.R                51       0  100.00%
R/SimLongitudinalRandomSlope.R        42       0  100.00%
R/SimLongitudinalSteinFojo.R          48       0  100.00%
R/SimSurvival.R                      104       0  100.00%
R/StanModel.R                         15       0  100.00%
R/StanModule.R                       176       6  96.59%   192-193, 235, 246, 383, 411
R/SurvivalExponential.R               10       0  100.00%
R/SurvivalLoglogistic.R               11       0  100.00%
R/SurvivalModel.R                     19       0  100.00%
R/SurvivalQuantities.R               170       1  99.41%   125
R/SurvivalWeibullPH.R                 11       0  100.00%
R/utilities.R                        143       1  99.30%   13
R/zzz.R                               28      25  10.71%   3, 8-12, 14-35, 47
TOTAL                               2770     107  96.14%

Diff against main

Filename        Stmts    Miss  Cover
------------  -------  ------  -------
R/generics.R       +1      +1  -2.90%
TOTAL              +1      +1  -0.03%

Results for commit: fbfc8de70cd86078ce42e0e00ac394e6659b4987

Minimum allowed coverage is 80%

:recycle: This comment has been updated with latest results

github-actions[bot] commented 6 months ago

Unit Tests Summary

  1 files   42 suites   8m 11s :stopwatch: 137 tests 106 :white_check_mark: 31 :zzz: 0 :x: 928 runs  897 :white_check_mark: 31 :zzz: 0 :x:

Results for commit fbfc8de7.

:recycle: This comment has been updated with latest results.

github-actions[bot] commented 6 months ago

Unit Test Performance Difference

Test Suite $Status$ Time on main $±Time$ $±Tests$ $±Skipped$ $±Failures$ $±Errors$
GridPrediction 💚 $130.96$ $-4.39$ $0$ $0$ $0$ $0$
Additional test case details | Test Suite | $Status$ | Time on `main` | $±Time$ | Test Case | |:-----|:----:|:----:|:----:|:-----| | GridPrediction | 💚 | $106.38$ | $-3.57$ | GridPrediction_works_as_expected_for_Survival_models |

Results for commit 991ced5e297f83d69fe095220c756015f9e55d33

♻️ This comment has been updated with latest results.

gowerc commented 6 months ago

@danielinteractive , I've attempted to address all the review comments. The big change here (based on your above comments) was that I've also added an additional custom-model.Rmd vignette that shows a complete end to end example for a user to fit their own model based on a model that isn't implemented in the package yet.

Note that I also show how to fit a custom simulation function here though this isn't actually detailed anywhere, I've added a new issue (#323) to cover this in a separate PR.