Follow fancygam to its new name, which had quietly disabled it - #4
Merged
Conversation
fancygam was renamed fancyfx when it grew past GAMs. GitHub still redirects
chross22/fancygam, so `Remotes: chross22/fancygam` kept installing something -
but what it installs declares `Package: fancyfx`, so the
`requireNamespace("fancygam")` behind has_fancygam() has been returning FALSE
on every fresh install since the rename.
That gate guards a diagnostic rather than the run, so nothing failed. GAM
smooth plots simply stopped being written, and gam_smooths.png stopped
appearing in the output, with no error and no message. It looked fine here
only because the old fancygam 0.0.0.9000 was still sitting in the library
next to the new package.
The rename is mechanical - fancygam to fancyfx across DESCRIPTION, the two
call sites, the app, the tests and the README - and the one call that matters
needed no change: combinePlots() keeps its first three arguments and has only
gained optional ones. It gained `interval`, defaulting to "auto", so the
smooths now come with their standard error bands rather than without.
model_engine_fit()'s example moves from plotSmooths() to plotEffects().
plotSmooths() still works and produces an identical plot, but it is deprecated
now and warns, and a documented example is the wrong place to teach the old
name.
Verified by drawing the plot rather than by loading the namespace: a GAM
fitted on the mock config writes a three-panel figure with a curve, an error
band and a data rug per term. Checked against fancyfx 0.3.0, the current
release.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
fancygamwas renamedfancyfxwhen it grew past GAMs. GitHub still redirectschross22/fancygam, soRemotes: chross22/fancygamkept installing something — but what it installs declaresPackage: fancyfx, so therequireNamespace("fancygam")behindhas_fancygam()has returnedFALSEon every fresh install since the rename.That gate guards a diagnostic rather than the run, so nothing failed. GAM smooth plots simply stopped being written and
gam_smooths.pngstopped appearing, with no error and no message. It looks fine on a machine that still has the oldfancygam 0.0.0.9000sitting in its library next to the new package — which is exactly why it went unnoticed.The change
Mechanical:
fancygam→fancyfxacross DESCRIPTION, the two call sites, the app, the tests and the README. The one call that matters needed no change —combinePlots()keeps its first three arguments and has only gained optional ones. It gainedinterval, defaulting to"auto", so the smooths now come with their standard error bands.model_engine_fit()'s example moves fromplotSmooths()toplotEffects().plotSmooths()still works and produces an identical plot, but it is deprecated now and warns at runtime, and a documented example is the wrong place to teach the old name.Verification
Verified by drawing the plot, not by loading the namespace: a GAM fitted on the mock config writes a three-panel figure with a curve, an error band and a data rug per term. Checked against
fancyfx 0.3.0, the current release. Full suite passing.Not in this PR
fancyfx 0.3.0also addedplotROC(),plotThreshold(),plotImportance()andpermutation_importance(), which overlap taupatch's own diagnostics. They take(model, newdata), whereas taupatch computes all of these from pooled held-out cross-validation predictions and documents that heavily. Adopting them withnewdata = training datawould quietly make every diagnostic flattering. They do have afoldsargument, so it may be reconcilable — worth investigating deliberately rather than folding into a rename.🤖 Generated with Claude Code