Rplot.gam错误“1中的错误:object$nsdf:长度为0的参数”

2023-12-07

我正在尝试在 R 中绘制一个 gam 对象,这是我用 gam 包制作的。我收到了报告中相同的错误1:object$nsdf 中的错误:使用plot.gam 时长度为0 的参数。然而,在那里找到的解决方案,更新到最新版本(我认为),对我来说不起作用。我正在运行 R 3.3.1、gam 1.12 和 mgcv 1.8.12(mgcv 是plot.gam 函数的来源)。

不幸的是,我无法分享我正在使用的数据。然而,以下代码直接从 Intro 的 p.294 中提取。使用 R 进行统计学习 -- 为我重现了错误:

library(gam)
library(ISLR) # contains the Wage dataset used here
gam.mod <- gam(wage ~ s(year, 4) + s(age, 5) + education, data = Wage)
plot(gam.mod)

有谁知道这里发生了什么或如何解决它?

谢谢。


如果您仍然收到此消息,则需要更新您的mgcv and gam打包到最新版本。做了一个很大的改变gam2018年2月套餐:找不到函数plot.gam。这意味着,GAM 由gam包现在有“Gam”类,即使mgcv包已加载,plot不会选择mgcv::plot.gam绘制它。

但是,在 R 会话中同时拥有这两个包仍然不安全。所以2016年提出的以下建议还是很值得推荐的。


建议

使用这个玩具函数来检查 R 会话是否可以运行 GAM 分析可能是个好主意。

GAM_status <- function () {
  if (all(c("gam", "mgcv") %in% .packages())) print("Not OK")
  else print("OK")
  }

nsdf is the 严格自由度数,一个专门用于mgcv。正如您提到的:mgcv是哪里plot.gam函数来自.

问题是你有gam and mgcv,您的 R 会话中同时存在两个不兼容的包。你适合你的gam.mod with gam::gam,然后用mgcv::plot.gam.

注意,使用通常是正确的::在这里就会失去作用。通常当两个包有一些相互屏蔽的函数时,::是补救措施。但对于mgcv and gam,这是完全不可能的。所以我的建议是,如果你使用gam,切勿触摸mgcv在您的 R 会话中,反之亦然。

所以,我开始一个新的 R 会话,并执行以下操作,一切都很好!

library(gam)
library(ISLR) # contains the Wage dataset used here
gam.mod <- gam(wage ~ s(year, 4) + s(age, 5) + education, data = Wage)
par(mfrow = c(2,2)); plot(gam.mod)

enter image description here


谢谢您的回答。我从未真正加载过mgcv,我只是假设它是一个依赖项gam。我开始了一个新的 R 会话,您提供的代码有效。我发现它实际上是car导致同样问题的库。

mgcv and gam并不相互依赖,但由于mgcvgam,许多包依赖于mgcv, 例如,car:

car: Companion to Applied Regression

Functions and Datasets to Accompany J. Fox and S. Weisberg, An R  Companion to
Applied Regression, Second Edition, Sage, 2011.
Version:    2.1-3
Depends:    R (≥ 3.2.0)
Imports:    MASS, mgcv, nnet, pbkrtest (≥ 0.4-4), quantreg, grDevices, utils,
            stats, graphics

请注意“进口”字段,library(car)将同时加载这些包。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rplot.gam错误“1中的错误:object$nsdf:长度为0的参数” 的相关文章

随机推荐

  • 何时使用 function() 、 function 或 () => function(callback)

    我一直在寻找一个好的解释 所以对我来说一切都很清楚 例子
  • 带动态分配的 MPI 矩阵乘法:段。过错

    我正在 OpenMP 中制作矩阵乘法程序 但收到以下错误消息 Mecha Liberta 12337 Process received signal Mecha Liberta 12337 Signal Segmentation fault
  • 如何使用 ABPeoplePicker 获取电子邮件?

    我没有发现苹果的文档对于实际使用人员选择器获取数据非常有帮助 并且互联网上似乎没有太多其他信息 我认为我需要在此功能中获取电子邮件 BOOL peoplePickerNavigationController ABPeoplePickerNa
  • 32 位模式下的 NASM x86_64 汇编:为什么该指令会生成 RIP 相对寻址代码?

    bits 32 global start section data str hello db HelloWorld 0xa str hello length db str hello section text start mov ebx 1
  • 不使用中间文件将内存中的数据传输到FTP服务器

    我有一些用 PHP 编码的 JSON 数据json encode 它看起来像这样 site site1 nbrSicEnt 85 我想要做的是将数据作为文件直接写入 FTP 服务器上 出于安全原因 我不希望在将文件发送到 FTP 服务器之前
  • Rubymine 6.0.2,无法调试

    在我新安装的 OSX Mavericks 上 我想尝试一下 Rubymine 但无法让调试器工作 尽管我设法使用 IntelliJ 和 ruby 插件在 Windows 7 上让它工作 这是我所做的 XCode 和命令行工具已安装 home
  • jberet 上的独立示例 (jsr352)

    是否有使用 jberet 作为独立模块来执行批处理作业 一直在获取与 WildFly 一起使用的样本 惊讶地发现它在尝试一些示例时寻找容器来加载实现 任何关于为什么 为什么不的见解都会有帮助 以下是如何在独立应用程序中使用 jberet 的
  • 根据模式连接线

    我有以下文件 test 1 My 2 Hi 3 我需要一种使用 cat grep 或 awk 给出以下输出的方法 test1 My2 Hi3 我如何通过单个命令实现此目的 就像是 cat file txt grep awk 请注意 在原始文
  • Python - 从 SharePoint 网站下载文件

    我需要将文件下载并上传到 Sharepoint 站点 这必须使用 python 来完成 我的网站将是https ourOrganizationName sharepoint com Followed通过进一步的链接 最初我以为我可以使用 R
  • 从 Spring+Mongo 中的文档数组中删除项目

    我在 mongodb 中有一个这样的文档集合 id ObjectId 592bc37c339e7a23788b4c7c trips tripGcsId 5937f86e339e7a2a58ac3186 tripCounter NumberL
  • 当模块存在时,为什么 VS Code 会抛出“找不到模块 'typescript'.ts(2307)”?

    我在用着import as ts from typescript 在 ts 文件中导入打字稿 该文件运行良好 但 VS Code 告诉我Cannot find module typescript ts 2307 有什么办法可以抑制这个问题吗
  • JavaScript 中奇怪的意外标记非法 [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 我有一个无法解决的语法错误 根据 W3 jQuery
  • 检查 SQL Server 实例是否在本地计算机上?

    我想确定我连接的 SQL Server 是否在本地计算机上 我知道连接到 SQL Server 时有很多方法可以识别 SQL Server 的服务器 实例名称 但是指定服务器名称的方法有很多不同 我不想自己在 IP 地址之间进行比较 机器名
  • JS/jQuery 在滚动事件上交换图像

    我有一个网站菜单 其工作原理与此类似 http jsfiddle net sinky XYGRW 在 stackoverflow 上发现 我的问题是 设计师希望将导航 主页按钮 中的徽标切换为较小的图标 不仅仅是缩小尺寸 而且实际上改变了图
  • 为什么像 chrome://downloads 或 chrome://apps 这样的本地 chrome-url 在无头模式下不起作用?

    我正在尝试访问 chrome 本地网址 但这不起作用 headless chrome 支持本地 URL 吗 我今天正在寻找这个 发现这个 大多数 chrome 内部页面不是在无头模式下实现的 这是 headless Chrome 本身的限制
  • 避免空引用异常

    显然 代码中的绝大多数错误都是空引用异常 是否有任何通用技术可以避免遇到空引用错误 除非我弄错了 否则我知道在 F 等语言中不可能有空值 但这不是问题 我问的是如何避免 C 等语言中的空引用错误 当向用户显示空引用异常时 这表明由于开发人员
  • 使用javascript动态启用和禁用css文件?

    我对 JavaScript 很陌生 我正在创建一个多语言网站 它包含 rtl 和 ltr 语言 我有两个用于语言的 css 当用户更改语言时 我想加载相应的 css 文件 这样可以吗 如果没有建议任何替代方法 可以使用 javascript
  • NSFetchedResultsController swift 部分

    我有一个表视图 它从具有 3 个字段的 CoreData 实体获取数据 firstName String lastName String 和 did NSNumber 这是一个可以打开或关闭的 UISwitch 我想用名字和姓氏填充表 但第
  • pydantic.error_wrappers.ValidationError:FastAPI

    我正在 fastapi 中进行增删改查 我有一个用户模型 并且创建了另一个名为 showuser 的模型 以仅显示查询中的某些特定字段 但是当我执行请求时 出现错误 我只是希望我的请求显示我在 showuser 中拥有的字段 我的模式 fr
  • Rplot.gam错误“1中的错误:object$nsdf:长度为0的参数”

    我正在尝试在 R 中绘制一个 gam 对象 这是我用 gam 包制作的 我收到了报告中相同的错误1 object nsdf 中的错误 使用plot gam 时长度为0 的参数 然而 在那里找到的解决方案 更新到最新版本 我认为 对我来说不起