-
-
Notifications
You must be signed in to change notification settings - Fork 40
include_reference
doesn't work for pscl
models
#1134
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
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Summary of Changes
Hello @strengejacke, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!
This pull request delivers a targeted bug fix to improve the compatibility and correctness of the include_reference
feature when used with statistical models from the pscl
package, particularly zeroinfl
and hurdle
models. The changes adapt the parameter and reference level handling to align with the specific naming conventions employed by these models, ensuring accurate processing and display.
Highlights
- Bug Fix: Addresses an issue where the
include_reference
functionality did not work correctly for models generated by thepscl
package, specificallyzeroinfl
andhurdle
models. This resolves the problem described in issue #1130. - Parameter Matching for
pscl
Models: Introduced logic to correctly identify and match factor parameters forpscl
models. This involves prependingcount_
andzero_
prefixes to factor names when checking against the model's internal parameter representation, as these models use such prefixes for their different components. - Reference Level Formatting: Ensures that once a reference level is identified, any
count_
orzero_
prefixes (which were added for internal matching) are removed from thereference_level
string before it is used, ensuring correct and clean display.
Using Gemini Code Assist
The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.
Invoking Gemini
You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command>
or @gemini-code-assist <command>
. Below is a summary of the supported commands.
Feature | Command | Description |
---|---|---|
Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
Help | /gemini help |
Displays a list of available commands. |
Customization
To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/
folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
The pull request addresses issue #1130 by fixing the include_reference
functionality for pscl
models. The changes involve adding prefixes to factor names and removing them from reference levels to ensure correct matching of parameters. The review suggests adding comments to explain the purpose of these changes for better code maintainability.
# for models from pscl, we have "count_" and "zero_" prefixes, which | ||
# we need to add to "f" names, so that we can match them with the parameters | ||
if (inherits(model, c("zeroinfl", "hurdle"))) { | ||
f <- c(paste0("count_", f), paste0("zero_", f)) | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be beneficial to add a comment explaining why these prefixes are necessary for pscl
models. This enhances code understanding and maintainability.
# for models from pscl, we have "count_" and "zero_" prefixes,
# which we need to add to "f" names, so that we can match them with the parameters
# (pscl models require these prefixes for parameter identification)
if (inherits(model, c("zeroinfl", "hurdle"))) {
reference_level <- f[!f %in% names(pretty_names)] | ||
reference_level <- gsub("^(count_|zero_)", "", reference_level, fixed = TRUE) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixes #1130