Skip to content

Conversation

strengejacke
Copy link
Member

Fixes #1130

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a 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 the pscl package, specifically zeroinfl and hurdle models. This resolves the problem described in issue #1130.
  • Parameter Matching for pscl Models: Introduced logic to correctly identify and match factor parameters for pscl models. This involves prepending count_ and zero_ 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_ or zero_ prefixes (which were added for internal matching) are removed from the reference_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

  1. 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.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a 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.

Comment on lines +431 to +435
# 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))
}
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

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"))) {

Comment on lines 442 to +443
reference_level <- f[!f %in% names(pretty_names)]
reference_level <- gsub("^(count_|zero_)", "", reference_level, fixed = TRUE)
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

Consider adding a comment explaining why this gsub call is necessary. What potential issues does it resolve?

      # Remove the count_ or zero_ prefix from the reference level
      reference_level <- gsub("^(count_|zero_)", "", reference_level, fixed = TRUE)

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.

include_reference doesn't work for pscl models
1 participant