在 R 中执行 GAMmgcv 包时,“model.matrix.formula(form, data) 中的错误:数据必须是 data.frame”

问题描述

寻求一个知道如何解决这个错误或理解为什么会出现这种错误的友好灵魂。

不确定发生了什么,但每次我尝试使用随机效应(bs="re",使用 mgcv 包)执行 GAM 时都会出现此错误。这很奇怪,因为不仅出现在新模型上,甚至出现在以前工作的模型上(多次)。 我确保数据没有 NA、科学数据或随机公式。另外,我没有使用日期格式来避免错误,以前是这样工作的。

我也尝试通过 as.data.frame(x) 将数据转换为数据框,但发生了同样的错误

我一直在玩这个公式,似乎每次出现随机效应 bs="re" 时,要么是其中的 2 个(站点、状态),要么只有其中一个站点),它是当错误发生时。如果我把它们完全从公式中去掉,它就会完美地工作。

我认为可能是:

  1. 与我可能已安装的另一个软件包存在一些不兼容,但试图解决此问题却没有任何效果删除了所有最近安装的软件包,错误仍然存​​在。

  2. 其他可能是对 mgcv 软件包的任何更新吗?

更新:它适用于 R 软件,但不适用于 R Studio

有没有人知道如何解决这个问题或为什么会出现这种情况

以下模型以前有效但不再有效,每次都给我提到的错误

gam_2a <- gam(Total_Items ~ s(DayI0,k=14) + s(Site,State,bs="re"),offset(log(EffortDayC)),data = x,family=poisson(link="log"),method = "REML")

变量说明:

Total_Items = 每个事件找到的碎片项目数;

DayI0 = 自第一次清理以来的天数(数字);

站点 = 采样站点站点位于州内);

State = 采样状态;

EffortDayC = Effort(沙滩长度、志愿者人数、采样持续时间)*DayC(采样间隔);

下面的 str(x) 输出

enter image description here

和head的数据好理解一点: enter image description here enter image description here

解决方法

排序!包 agricolae 导致与 mgcv 包不兼容。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...