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

Closes #55 Percentiles for age were being miscalculated #56

Conversation

zdz2101
Copy link
Collaborator

@zdz2101 zdz2101 commented Jun 25, 2024

Thank you for your Pull Request! We have developed this task checklist from the Development Process Guide to help with the final steps of the process. Completing the below tasks helps to ensure our reviewers can maximize their time on your code as well as making sure the admiral codebase remains robust and consistent.

Please check off each taskbox as an acknowledgment that you completed the task or check off that it is not relevant to your Pull Request. This checklist is part of the Github Action workflows and the Pull Request will not be merged into the main branch until you have checked off each task.

  • Place Closes #<insert_issue_number> into the beginning of your Pull Request Title (Use Edit button in top-right if you need to update)
  • Code is formatted according to the tidyverse style guide. Run styler::style_file() to style R and Rmd files
  • Updated relevant unit tests or have written new unit tests, which should consider realistic data scenarios and edge cases, e.g. empty datasets, errors, boundary cases etc. - See Unit Test Guide
  • If you removed/replaced any function and/or function parameters, did you fully follow the deprecation guidance?
  • Update to all relevant roxygen headers and examples, including keywords and families. Refer to the categorization of functions to tag appropriate keyword/family.
  • Run devtools::document() so all .Rd files in the man folder and the NAMESPACE file in the project root are updated appropriately
  • Address any updates needed for vignettes and/or templates
  • Update NEWS.md under the header # admiralpeds (development version) if the changes pertain to a user-facing function (i.e. it has an @export tag) or documentation aimed at users (rather than developers)
  • Build admiralpeds site pkgdown::build_site() and check that all affected examples are displayed correctly and that all new functions occur on the Reference page.
  • Address or fix all lintr warnings and errors - lintr::lint_package()
  • Run R CMD check locally and address all errors and warnings - devtools::check()
  • Link the issue in the Development Section on the right hand side.
  • Address all merge conflicts and resolve appropriately
  • Pat yourself on the back for a job well done! Much love to your accomplishment!

Copy link

github-actions bot commented Jun 25, 2024

Code Coverage

Package Line Rate Health
admiralpeds 69%
Summary 69% (88 / 128)

@@ -283,6 +283,10 @@ derive_params_growth_age <- function(dataset,
) %>%
select(-c(P95, Sigma))
}
else {
add_pctl <- add_pctl %>%
mutate(AVAL = pnorm(AVAL)*100)
Copy link
Collaborator Author

@zdz2101 zdz2101 Jun 25, 2024

Choose a reason for hiding this comment

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

@rossfarrugia I originally had the code set up was

  1. calculate z-score
  2. use pnorm to calculated percentile
  3. if bmi correction, use AVAL to recalculated appropriate percentile (this is incorrect cuz aval is currently already in percentile form , need the value for 1)

so I modified it to

  1. get z-score
  2. calculate bmi correction for percentile if thats being requested, if not skip this step
  3. !!! forgot to still calculate the percentile (This is what the code is now doing)

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

that said, the numbers for percentile are finally looking correct again, I was so focused on checking that the bmi correction was doing done properly I forgot to check that it was running normally again

@zdz2101
Copy link
Collaborator Author

zdz2101 commented Jun 25, 2024

image

image

@rossfarrugia Just to point it out, the patient with abnormally low head circumference even a sanity check with the WHO excel makes sense too, data prior to their "428 days old" ~14 month old visit, you see their HC from the 359-407 visits is well below 40, as we can see on the WHO's HC for age chart, even the P01 percentile indicates for that age ~12-13 months old, the P01 percentile is 40.7-41

@rossfarrugia
Copy link
Collaborator

@Fanny-Gautier @Lina2689 would you have chance to sanity check this update and test run it with your template to see all looks good?
FYI @Minlei0201 too as your issue is the unit tests for this one.

@Fanny-Gautier
Copy link
Contributor

@Fanny-Gautier @Lina2689 would you have chance to sanity check this update and test run it with your template to see all looks good?

I'll try to find some times tomorrow. thanks

@rossfarrugia
Copy link
Collaborator

@zdz2101 does this PR resolve the following issue @Minlei0201 sent by email?

During the testing, I noticed the set_values_to_pctl parameter derivation in the derive_params_growth_age function is incorrect - it still derives SDS instead of the percentile.

@Fanny-Gautier
Copy link
Contributor

@zdz2101 does this PR resolve the following issue @Minlei0201 sent by email?

During the testing, I noticed the set_values_to_pctl parameter derivation in the derive_params_growth_age function is incorrect - it still derives SDS instead of the percentile.

I think so, I can see the following difference:

  • Before :
    image
  • After:
    image

@zdz2101
Copy link
Collaborator Author

zdz2101 commented Jun 27, 2024

@zdz2101 does this PR resolve the following issue @Minlei0201 sent by email?

During the testing, I noticed the set_values_to_pctl parameter derivation in the derive_params_growth_age function is incorrect - it still derives SDS instead of the percentile.

I think so, I can see the following difference:

  • Before :

image

  • After:

image

Yes the pctl's should all be correctly calculated here now

Copy link
Contributor

@Fanny-Gautier Fanny-Gautier left a comment

Choose a reason for hiding this comment

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

double checked and the PCTLs properly implemented now

@zdz2101 zdz2101 merged commit 4871457 into main Jun 27, 2024
16 checks passed
@zdz2101 zdz2101 deleted the 55-bug-pctl-isnt-calculated-properly-for-age-charts-if-bmi_correction-is-set-to-false branch June 27, 2024 19:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Bug: PCTL isn't calculated properly for age-charts if BMI_correction is set to FALSE
3 participants