问题标签 [lmertest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5364 浏览

r - 如何做具有随机效应的逐步模型(lme4 + lmerTest?)

我正在尝试执行具有随机效应的逐步模型,其中我可以获得 BIC 值。

lmerTest 包说它可以与 lme4 一起使用,但是如果我从模型中删除我的一个自变量(这是一个有两个选项 (TM) 的因素),我只能让它工作

错误代码是:

$<-( , 公式, 值 = 术语)中的错误*tmp*:没有分配此 S4 类的子集的方法

或者

as_lmerModLmerTest(model) 中的错误:模型不属于“lmerMod”类:无法强制转换为“lmerModLmerTest”类

我在某处读过它可能与 drop1 有关,但我仍然没有弄清楚。我也愿意接受其他软件包和功能的建议。

之前,尝试 full.model <- lm ( ... 一切正常。更改为 lmer 后,它不再存在。

我现在使用的代码:

0 投票
1 回答
219 浏览

r - 如何遍历 lmerTest 输出列表以提取偏差组件

我正在估计使用 80 个多重插补数据集和包的多级模型mitml。我可以使用该testModels()命令来比较嵌套模型,但我想查看 80 个单独插补模型中的每一个的模型拟合组件(特别是偏差)并计算总体平均偏差值。

我的模型估计值保存在一个mitml.result名为modelt1.

我可以使用索引提取第一个模型(80 个)的偏差值:

但是,我不确定如何有效地提取和平均所有 80 个这些值。我知道我需要使用循环,但我不确定如何将循环与这样的索引结合起来。

我的尝试是这样的:

不出所料,这仅返回 中第一个模型的偏差modelt1

我尝试用 替换[[1]][[i]]但出现错误。

我还尝试像这样遍历所有模型:

但是,当我只需要偏差值时,这当然提供了所有 80 个模型的完整摘要输出。

如何编写一个循环来打印所有 80 个偏差值?

0 投票
1 回答
39 浏览

r - 为什么我得到估计标准。当我使用的数据永远不会是负数时是否为负数?

我正在运行一个脚本来找出鸟类歌曲之间的差异(比较不同的长度、频率和其他)。我正在使用带有 lme4 包的线性混合效果。我得到了负估计标准的结果。并且由于(例如)歌曲的长度不能为负数,我想知道是否有人可以告诉我我做错了什么。在下面找到详细信息。

我一直在寻找我的数据中的错误以及处理数据的不同方式,得到相同的结果。

这就是我组织数据的方式:

这是完整的代码

前面是结果的第一部分,不确定为什么站点 FH (siteFH -0.9480) 出现负数。这也发生在其他变量上,所以我猜这个模型一定有问题。我是初学者,请和我一起考虑,我已经看过了,我还没有找到类似的问题。

先感谢您。

0 投票
1 回答
1581 浏览

r - 调整使用 lmerTest::lmer() 获得的 p 值以进行多重比较

我想使用lmerTest::lmer()并逐渐添加随机和固定效果来拟合线性混合模型(请参见下面的代码)。后来我的目标是编译一个回归表,包括所有带有jtools::export_summs()or的模型huxtable::huxreg()。在此步骤之前,我想使用 Bonferroni-Holm (BH) 方法调整回归中获得的 p 值以进行多重比较。

我将每个调整后的模型存储在一个列表中,并编写了一个函数来将 BH 应用于我的模型,如下所示:

但是,当我通过调整模型编译列表的回归表时,huxreg(list_lm_models_adj)export_summs(list_lm_models_adj)收到以下错误消息:

“fix.by(by.x, x) 中的错误:'by' 必须指定唯一有效的列”

检查调整和未调整模型的摘要表明,应用时结构似乎发生了变化summary(glht(model), test = adjusted('holm'))。比较的输出,summary(model_lm2)似乎summary(model2_adjusted)随机效果在过渡中丢失了。

任何帮助是极大的赞赏!


插件1:

分别调用huxreg(list_lm_models_adj)或时发生错误export_summs(list_lm_models_adj)

df_long 如下所示:


AddOn2:最小的工作示例


AddOn3:REPREX

0 投票
0 回答
36 浏览

r - r中的逐步回归与混合模型:行数变化

使用 中的lmerTestr,我使用下面的语法在包含 2 个连续预测变量 ( Duration, PrevSegDuration)、1 个分类因子 ( PrevSeg) 和 1 个随机效应因子 ( Respondent) 的混合模型上运行逐步选择。

成功完成完整模型后,未完成步骤出现以下错误:

Error: number of rows in use has changed: remove missing values?

我不确定是什么导致了这个问题,尽管我相信这个与线性模型中的步骤类似的问题可能是相关的。step任何有关如何导致简化模型中行数变化的见解都会有所帮助。谢谢!

0 投票
0 回答
280 浏览

r - 使用 lmer R 在一个简单模型中进行奇异拟合,但在另一个模型中不拟合

我正在使用 lmerTest 运行一个多级模型,其中员工嵌套在团队和部门中。我正在采用模型比较方法,因此我正在构建仅具有随机效应的模型。以下是我使用两个随机效应(团队和部门成员)来预测剧烈运动时的结果:

这个模型——以及所有后续模型——运行良好,没有错误。但是,当我在 lite 练习中使用相同的数据运行相同的模型时,我会收到一个奇点警告,并且突然部门成员没有差异:

除了因变量,数据都是一样的,所以我很困惑为什么会这样。我相信这不是由于过度拟合(就像在这个线程中(如何应对线性混合模型中的奇异拟合(lme4)?)),因为即使剧烈运动模型包含更多变量,它也永远不会给出单一警告。

您对为什么会发生这种情况以及如何在不取消部门成员资格的情况下解决此问题有任何想法吗?我尝试了其他站点的建议,包括将 REML = FALSE 和更改优化器 [control = lmerControl(optimizer ='optimx', optCtrl=list(method='L-BFGS-B')],但没有任何效果。

谢谢!

编辑:这是数据样本。注意:team_num 和 dept_client 是因素。

0 投票
1 回答
170 浏览

r - 对鼠标中的 mids 对象使用 name_repair

我有一组 5 个数据集,这些数据集是使用 mouse 包通过多重插补生成的。我正在对这些数据集运行分层回归,但是当我尝试合并结果时,我收到“必须命名第 6 列”并使用 .name_repair 的错误。我从来没有见过这个问题,我检查了我的列的名称,它们都有一个名称。有人可以解释我应该怎么做才能解决问题吗?

0 投票
1 回答
552 浏览

r - 小鼠的 pool.compare 为 lmerTest 模型提供“错误:类调用对象的无一目了然方法”

我正在尝试比较使用多重插补构建的两个模型。当我尝试比较模型时,老鼠的 pool.compare() 给出了错误:错误:没有类调用对象的浏览方法或错误:'fit1'和'fit0'的插补数量不相等,即使我正在使用相同的估算数据集。这是一个可重现的示例:

0 投票
2 回答
338 浏览

r - 回归方程在所有数据之外生成模型

我很困惑为什么我会产生一个超出数据集中所有数据范围的回归方程。我有一种感觉,这个方程对传播范围很大的数据非常敏感,但我仍然感到困惑。任何帮助将不胜感激,统计数据当然不是我的第一语言!

作为参考,这是一个地球化学热力学问题:我试图将 Maier-Kelley 方程拟合到一些实验数据。Maier-Kelley 方程描述了平衡常数 (K),在这种情况下,白云石溶解在水中,如何随温度变化(在这种情况下,T 为开尔文)。

日志 K = A + BT + C/T + D.logT + E/T^2

长话短说(如果感兴趣,请参阅 Hyeong 和 Capuano., 2001),平衡常数 (K) 与 Log_Ca_Mg(钙与镁离子活性的比率)相同。

实验数据使用来自不同位置和不同深度的地下水数据(由 FIELD 和 DepthID 识别 - 这是我的随机变量)。

我已经包含了 3 个数据集

(问题)数据集1:https ://pastebin.com/fe2r2ebA

(工作)数据集 2:https ://pastebin.com/gFgaJ2c8

(工作)数据集 3:https ://pastebin.com/X5USaaNA

使用以下代码,对于数据集 1

对于数据集 2

对于数据集 3

我已经绘制了“所有数据”,但对于回归分析,红线以上或绿线以下没有数据。只有在任何温度下,log_ca_mg 值介于红线和绿线之间的点才会包含在回归分析中。

在此处输入图像描述

因此,查看绘图数据集 1 上的回归只是遥不可及,但由于红线上方没有数据,这只会让我感到困惑。回归位于没有数据的区域。对于其他两个数据集,这不是问题。即使对于较小的数据集(n = 200),它也大致在同一区域。单独绘制时,这三个数据集看起来相对相似。

我有点迷路了。任何有助于理解这一点的帮助将不胜感激。

0 投票
0 回答
47 浏览

r - 为什么在线性混合效应模型的某些级别上有如此大的自由度?

我有来自野生猩猩的活动预算数据,我正在调查它们在森林火灾事件之前和火灾事件之后进食、休息和旅行的时间是否存在差异。我正在运行一个线性混合效应模型,其中在特定日期花费的时间作为我的响应变量(猩猩醒来的分钟数作为偏移量)。火期和年龄/性别类别是固定效应,猩猩 ID 是随机效应。我有 2 个级别的 fire_time 因子('pre' 和 'post'),4 个级别的 Age_Sex 因子('SAF','FM','UFM','Adolescent'),47 只猩猩随机效应和一个该数据集中共有 817 个数据点。

我的数据框如下所示:

我的模型的代码如下:

当我使用包运行这个模型lmerTest来检查自由度和 p 值时,我似乎对重要的水平有非常大的自由度(参见 Age_SexSAF 和 fire_timepre)。

lmerTestmodel <- lmerTest::lmer(minutesin24hr ~ Age_Sex + fire_time + (1|Ou_name), data = F, offset = AP_obs, REML = TRUE, na.action = "na.fail")

我想这些大的自由度使 p 值很重要,所以我对模型持怀疑态度。为什么我在这两个层面上就获得了如此大的自由度?Age_SexSAF 和 fire_timepre 级别中有更多数据,但对我来说似乎并不正常。我计划在我的论文中报告估计值、置信区间和 p 值,但我担心报告这些自由度是否错误。

抱歉,如果这可能是一个幼稚的问题,这是我第一次冒险进入混合效果模型。非常感谢任何建议,谢谢!