问题标签 [lme4]

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 投票
7 回答
43874 浏览

r - 从 lme4 mer 模型对象中提取随机效应方差

我有一个具有固定和随机效果的 mer 对象。如何提取随机效应的方差估计?这是我的问题的简化版本。

这会产生很长的输出 - 在这种情况下不会太长。无论如何,我如何明确选择

输出的一部分?我想要价值观本身。

我看了很久

那里什么都没有!还检查了 lme4 包中的任何提取器功能,但无济于事。请帮忙!

0 投票
2 回答
13875 浏览

r - 在模型列表上使用 stepAIC

我想在线性模型列表上使用 AIC 进行逐步回归。想法是使用 ea 线性模型列表,然后在每个列表元素上应用 stepAIC。它失败。

我试图找出问题所在。我想我找到了问题所在。但是,我不明白原因。试一下代码,看看三种情况的区别:

我很确定 stepAIC() 需要来自 data.frame “dat”的原始数据。这就是我之前的想法。(希望我是对的)但是 stepAIC() 中没有参数可以传递原始数据帧。显然,对于未包含在列表中的普通模型,通过模型就足够了。(代码中的最后三行)所以我想知道:

  • Q1:stepAIC如何知道在哪里可以找到原始数据“dat”(不仅仅是作为参数传递的模型数据)?
  • Q2:我怎么可能知道 stepAIC() 中有另一个参数在帮助页面中没有明确说明?(也许我的英语太糟糕了,找不到)
  • Q3:如何将该参数传递给 stepAIC()?

它必须在应用函数环境中的某个地方并传递数据。lm() 或 stepAIC() 以及指向原始数据的指针/链接必须在某处丢失。我不太了解 R 中的环境是做什么的。对我来说,这是一种将局部变量与全局变量隔离开来。但也许它更复杂。任何人都可以就上述问题向我解释一下吗?老实说,我没有从R 文档中阅读太多内容。任何更好的理解都会对我有所帮助。

OLD: 我在数据帧 df 中有数据,可以分成几个子组。为此,我创建了一个名为 df$id 的 groupID。lm() 返回第一个子组的预期系数。我想分别使用 AIC 作为每个子组的标准进行逐步回归。我使用 lmList {lme4} 为每个子组(id)生成一个模型。但是,如果我将 stepAIC{MASS} 用于列表元素,则会引发错误。见下文。

所以问题是:我的过程/语法中有什么错误?我得到了单个模型的结果,但没有得到使用 lmList 创建的结果。lmList() 在模型上存储的信息是否与 lm() 不同?
但在帮助中它指出: 类“lmList”:具有通用模型的 lm 类对象列表。

显然有些东西不适用于列表。但我不知道它可能是什么。因为我尝试对创建相同模型(至少相同系数)的基本包做同样的事情。结果如下:

好吧,这就是我在 linear.model 上使用 stepAIC 返回的结果。据我所知,akaike 信息标准可用于估计在给定一些数据的情况下哪个模型更好地平衡拟合和泛化。

我从输出中读到我应该使用模型:Scherkraft.N ~ Voidflaeche.px,因为这是最小的 AIC。好吧,如果有人能简短地描述输出,那就太好了。我对逐步回归(假设向后消除)的理解是所有回归量都包含在初始模型中。然后消除最不重要的一个。决定的标准是AIC。等等......不知何故,我无法正确解释表格。如果有人能证实我的解释,那就太好了。“-”(减号)代表消除的回归量。顶部是“开始”模型,在下表中计算了 RSS 和 AIC 以用于可能的消除。所以第一张表的第一行说的是一个模型Scherkraft.N~Gap.um+Standoff.um+Voidflaeche.px - Standoff.um将产生 AIC 293.14。选择没有Standoff.um的那个:Scherkraft.N~Gap.um+Voidflaeche.px

编辑:
我用 dlply() 替换了 lmList{lme4} 来创建模型列表。stepAIC 仍然无法处理该列表。它引发另一个错误。实际上,我认为这是 stepAIC 需要运行的数据的问题。我想知道它如何仅根据模型数据计算每个步骤的 AIC 值。会使用原始数据来构建模型,每次都会留下一个回归量。其中我会计算AIC并进行比较。那么如果 stepAIC 无法访问原始数据,它是如何工作的。(我看不到将原始数据传递给 stepAIC 的参数)。不过,我不知道为什么它适用于普通模型,但不适用于包含在列表中的模型。

0 投票
1 回答
11855 浏览

r - glmer 中的错误:外部函数调用中的 NA/NaN/Inf (arg 1)

我正在尝试拟合模型

但我不断收到以下错误:

我省略了 NA,更改了模型规范,将 pop 转换为 log(pop) 但没有解决问题。我认为问题出在变量“pop”上,因为它是唯一导致该问题的变量。当我跑

我没有任何问题。

对正在发生的事情有任何想法吗?

编辑:

这是我的数据结构:

0 投票
2 回答
5150 浏览

r - 混合模型 lme4 中的警告消息

使用包 lme4 拟合“glmer”模型时,以下警告消息的含义是什么?

我试图拟合的模型是这样的:

谢谢

0 投票
1 回答
2809 浏览

r - 有没有办法从 lmer 推断预测数据

我正在使用lmer具有多个固定效应(包括特定于主题的变量,如年龄、短期记忆跨度等)和两组随机效应(主题和主题:条件)的多级多项式回归模型。现在我想预测具有特定属性(年龄、短期记忆跨度等)的假设主题的数据。我拟合了模型 ( m) 并创建了一个pred包含我假设的主题的新数据框 ( ),但是当我尝试时predict(m, pred)出现错误:

我知道我可以使用蛮力方法从我的模型中提取固定效果并将其全部相乘,但是有更优雅的解决方案吗?

0 投票
3 回答
17158 浏览

r - R:GLMM(lme4)的具有连续变量和分类变量的交互图

我想制作一个交互图,以直观地显示回归模型结果中分类变量(4个级别)和标准化连续变量的交互斜率的差异或相似性。

with(GLMModel, interaction.plot(continuous.var, categorical.var, response.var)) 不是我要找的。它会生成一个绘图,其中斜率随连续变量的每个值而变化。我正在寻找一个具有恒定斜率的图,如下图所示:

在此处输入图像描述

有任何想法吗?

我适合以下形式的模型fit<-glmer(resp.var ~ cont.var*cat.var + (1|rand.eff) , data = sample.data , poisson) 这是一些示例数据:

0 投票
1 回答
2003 浏览

r - 如何在 nlmer 中为四参数逻辑模型添加固定效应

我正在尝试使用nlmerwithSSfpl来拟合一些具有四参数逻辑函数的数据。我可以使用以下方法很好地拟合整体数据:

现在我想添加一个固定的效果Condition,它有 2 个主题内级别。我想评估这两个条件是否在 4 个参数(A、B、xmid、scal)中的任何一个方面有所不同,但我不知道如何在这个公式中指定它。我可以将模型分别拟合到两个子集(条件 A 和条件 B),然后比较参数,但这似乎不是正确的方法。

0 投票
7 回答
66317 浏览

r - 如何在混合效应模型中获得系数及其置信区间?

lmglm模型中,我使用函数coefconfint来实现目标:

lmer现在我在模型中添加了随机效应——使用lme4 包中的函数使用混合效应模型。但是,功能coefconfint不再为我工作!

我试图谷歌并使用文档但没有结果。请指出我正确的方向。

编辑:我也在考虑这个问题是否更适合https://stats.stackexchange.com/但我认为它比统计更具技术性,所以我得出结论它最适合这里(SO)......你怎么看?

0 投票
4 回答
4800 浏览

r - 随机效应的点图

我有一个广义的混合效应模型,如下所示:

我想使用dotplot但不绘制 x 的随机斜率分量来绘制截距的随机效应。我的问题是我似乎无法弄清楚如何只访问截距组件而不是随机斜率。

例如,我想要的是这个情节的左侧:

在此处输入图像描述

使用dotplot(ranef(fm, postVar=TRUE)$g[,2])并没有给我我想要的东西,即使我认为它应该!我看过str(fm),但没有看到任何帮助我更接近的东西。

任何帮助和提示将不胜感激!

0 投票
1 回答
1616 浏览

r - 来自“lmList”的广义线性模型的置信区间

lmList我正在尝试使用包中的通用模型计算组的置信区间lme4。它适用于正常的线性模型,但当因变量是二分法时会失败。例如,这很好用:

我可以使用 提取系数,coef(fm1)并使用 提取系数的置信区间confint(fm1)。然后我运行一个具有二分结果的模型:

我仍然可以使用 获取系数coef(fm2),但是当我尝试获取置信区间时,出现错误:

我最初打算将此发布到 stats.stackexchange 因为我认为这可能是我不了解 GLM 的置信区间的东西,但后来我发现我仍然可以使用

有什么方法可以做到这一点lmList吗?