Fix mr_mode bootstrapping#685
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This,
mr_mode()andmr_rucker_bootstrap()introduced in v0.6.30. The pre-generatedrnorm()matrix was filled column-by-column while the per-SNP means and standard errors recycled element-wise, so each bootstrap draw was taken from the wrong SNP's distribution; the means and SEs are now laid out withrep(..., each = nboot)so each column draws from its own SNP. Point estimates were unaffected. (thanks @peterk87 reported in [BUG]: mr_mode() bootstrap SE inflated since v0.6.30 due to incorrect matrix fill in boot() #684)mr_rucker_bootstrap()which errored ("values must be length 1") because it accessed the per-combination result ($rucker,$Q,$res,$selected) directly whilemr_rucker()returns a list with one element per exposure-outcome combination; it now unwraps the first element.mr_rucker_cooksdistance(), which had the same return-shape problem:$cooksdistancewasNULLso the Cook's distance filtering loop never ran and a malformed object was returned; it now unwraps the first element.mr_mode()andmr_rucker_bootstrap()bootstrap standard errors and formr_rucker_cooksdistance().Closes #684