Fix Issue #8: Transform continuous outcome estimates to original scale + comprehensive package improvements#29
Closed
ck37 wants to merge 5 commits into
Closed
Conversation
… scale - Modified estimate_pooled_results() to accept Qbounds and map_to_ystar parameters - Added transformation of final theta estimates from [0,1] scale back to original scale - Updated vim_numerics.R and vim_factors.R to pass bounds information - Added test script and documentation demonstrating the fix - Ensures continuous outcome estimates are reported on original scale, not [0,1]
- Added NEWS.md with entry for Issue #8 fix - Created comprehensive testthat test in test-continuous-outcome-scale.R - Test verifies estimates are on original scale, not [0,1] scale - Includes test for both continuous and binary outcomes - Removed old standalone test script
…mation The condition 'family == "binomial" && length(unique(Y)) > 2' was logically incorrect since binomial family should have binary outcomes (length(unique(Y)) <= 2). Simplified the condition to only check for 'family == "gaussian"' for continuous outcome transformation.
…nuous [0,1] outcomes The original condition 'family == "binomial" && length(unique(Y)) > 2' was correct. Binomial family can be applied to continuous outcomes in [0,1] range (quasibinomial). When there are >2 unique values, it indicates continuous outcome needing scale transformation.
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.
🎯 Overview
This PR addresses Issue #8 by implementing continuous outcome rescaling while also including comprehensive package improvements for better maintainability, testing, and CI compliance.
🔧 Core Fix: Continuous Outcome Rescaling
Problem: Variable importance estimates for continuous outcomes were reported on the [0,1] scale instead of the original outcome scale, making results difficult to interpret.
Solution:
estimate_pooled_results()to acceptQboundsandmap_to_ystarparametersvim_numerics.Randvim_factors.Rto pass bounds information📦 Package Improvements
🧹 LaTeX File Management
cleanup_latex_files()function for reusable LaTeX cleanup🔧 Code Quality & Compliance
class()comparisons →inherits()oris.*()dplyr::funs()→list()🧪 Testing Improvements
🚀 CI/CD Enhancements
📊 R CMD Check Results
🧪 Test Results
📝 Files Changed
Core Functionality
R/estimate_pooled_results.R- Added continuous outcome rescalingR/vim-factors.R- Pass bounds for rescalingR/vim-numerics.R- Pass bounds for rescalingNew Features
R/cleanup-latex.R- New reusable LaTeX cleanup functiontests/testthat/test-continuous-outcome-scale.R- Comprehensive scaling teststests/testthat/test-exportLatex.R- Dedicated exportLatex testsQuality Improvements
The continuous outcome functionality includes the rescaling logic but currently has test failures where
vim$results_allis NULL. This suggests the rescaling changes may be interfering with VIM calculations and requires further debugging.🎯 Recommendation
This PR provides a solid foundation with all package improvements working correctly. The continuous outcome rescaling logic is implemented but needs additional work to resolve the VIM calculation issues before the feature can be considered complete.
📚 Related