问题标签 [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 投票
2 回答
3252 浏览

r - 将遗传算法与 lme4 一起使用时,glmulti 无限期运行

我在 R 中使用 glmulti 进行模型平均。我的模型中有大约 10 个变量,使得详尽的筛选不切实际 - 因此我需要使用遗传算法 (GA)(调用:method = "g")。

我需要包含随机效果,所以我使用 glmulti 作为 lme4 的包装器。此处提供了执行此操作的方法http://www.inside-r.org/packages/cran/glmulti/docs/glmulti并且 glmulti 包中还包含一个 pdf,其中包含更详细的信息。问题是当告诉 glmulti 在此设置中使用 GA 时,它会无限期地运行,即使在找到最佳模型之后也是如此。

这是从 glmulti 包中包含的 pdf 中获取的示例:

这工作正常。问题是当我告诉它使用遗传算法时:

它只是无限期地运行,AIC 不会改变:

我尝试使用告诉 glmulti 何时停止的调用(deltaB = 0,deltaM = 0.01,conseq = 6),但似乎没有任何效果。我认为问题必须在于设置功能(?)。这可能是非常明显的事情,但是我是 R 新手,我无法解决。

对此的任何帮助将不胜感激。

0 投票
1 回答
782 浏览

r - 在 R 中使用 lmer() 正确格式化混合模型设计

我正在尝试使用lmer(). 下面的三个模型都试图实现相同的目标——一个简单的固定效应模型——所以两个肯定是错的。

在模型中,shoppers是商业中心的消费者支出数据。有一个一般的平方反比距离关系描述了消费者是如何从中心分布的。这反映在一个gravity模型中,该矩阵将较近的区域加权高于较远的区域,以模拟距离的影响。 Population还给出了住宅区的大小。我认为这r3应该是正确的格式,但它产生的 AIC 分数高于r2. 知道为什么会这样,哪个是正确的?

提前谢谢了!

0 投票
0 回答
884 浏览

mixed - 使用 ezMixed 指定混合模型并使用 ezPlot2(ez 包)获取预测和绘图

我是一个 ez 包新手,我一直在尝试使用 ezMixed 运行混合效应 anova,因为我的重复测量数据不平衡,并且某些重复观察的数据丢失了一些。我的响应变量“计数”是计数数据的平均值,不遵循泊松分布。首先,我不确定我是否使用 ezMixed 正确指定了我的模型。使用 lme(),我的模型看起来像这样:

我的重复测量(在因子内)是嵌套在我的随机因子 siteID 中的 timepointID。我有兴趣测试分组变量“MPA”(效果之间)的主要效果以及重复测量“时间点 ID”的效果以及它们的相互作用。我知道如果我的设计是平衡的,我可以使用 ezAnova 并指定 wid=.siteID 和 within=.timepoint ID,但我不知道如何在 ezMixed 中翻译它。我的尝试如下,但它看起来像 siteID 和 timepointID 交叉:

我怎样才能解决这个问题?

此外, print(er$summary) 命令给了我以下结果:

所以我理解这里证据强度最大的主要影响是'timepointID',而两者的相互作用显示证据强度很小。

我尝试使用 ezPredict 和 ezPlot2 生成和绘制预测,如下所示:

这给了我以下错误消息:

我一直在谷歌上搜索它,但我似乎无法找到帮助我修复它的提示......

感谢您的帮助;0

0 投票
1 回答
788 浏览

r - 使用带有 lmer() 的预测变量矩阵

我试图用大量预测变量拟合模型,这样在模型公式中列举它们会很乏味。使用 lm() 很简单:

由于我有大量的预测变量(超过本发明示例中的 26 个),我不想像第一个示例(someDV ~ A + B + C + D...)中那样单独列出它们,我可以通过仅包括预测变量来避免这种情况as.matrix

但是,我想拟合一个混合效果模型,如下所示:

除了我想包含大量随机效应项。而不是必须键入(1 | A) ... (1 | ZZZ),我想以类似于olsModel2上面使用的矩阵方法的方式包含每个预测变量。显然,以下内容不起作用:

您对如何使用 lmer() 最好地复制随机效应的矩阵预测器方法有什么建议吗?我非常愿意考虑“实用”的解决方案(即黑客),只要它们是“程序化的”并且不需要我复制和粘贴等。

在此先感谢您的时间。

0 投票
1 回答
3029 浏览

r - lmer() 和 anova() 之间模型适应度估计的差异

我想对生物数据随时间的治疗效果进行建模,lmer()以考虑个体效果。通常使用的过程是通过逐步删除固定效应和交互项来构建多个模型,然后在anova(model1,model2)发现不显着差异时使用并保留最简约的模型找到最佳模型。但是,我在summary(model1)和的输出之间发现了不同的模型适应度值(AIC、BIC ..) anova (model1,model2)。这是代码:

比较输出时,两个模型之间有 14 个 AIC 单位差异,summary()但在anova(). 这种差异从何而来?提前致谢。

0 投票
0 回答
1314 浏览

r - R 分段增长回归,lmer()

我想对我的数据进行分段增长回归,基于 Raudenbush/Bryk(1992/2002),分层线性模型,p178 - 179。

我将不得不应用一个多层次模型来做到这一点。

我是我需要使用的 lme4-package。

我的数据包含每个 ID 一段时间内的销售收入。我有两个断点:sales>10 和 sales>25。我想分析断点前后的销售额增长情况。

每个ID都有两个变量:var1:123455555555(当销售额超过10(断点1)时,变量保持不变)var2:000000006789(当销售额超过25(断点2)时,变量在增加,在25之前是0)

我的多级模型具有以下形式:

Y= b0i + b1i*a1ti + b2i*a2ti + eti

(对不起,我不允许发布图片和公式:()

a1ti 和 a2ti 是我指定片段的编码变量(var1 和 var2)。

第 1 级:每个人的重复观察
第 2 级:受试者之间的水平

也许有人可以解释一下我必须在我的 lmer()-Code 中指定级别 1 和级别 2 的位置以及我将如何获得我的两个部分的两个斜率?我是否必须在括号之间添加规格为 O + ... 或 1 + ... 才能仅获得截距等?

我想我的代码看起来像这样:

或这个:

谢谢!

最好的祝福亚历克萨

0 投票
4 回答
42010 浏览

r - 使用 qqmath 或 dotplot 从 lmer(lme4 包)绘制随机效果:如何让它看起来很花哨?

qqmath 函数使用 lmer 包的输出制作了很棒的随机效应毛毛虫图。也就是说,qqmath 非常擅长绘制分层模型的截距及其在点估计周围的误差。下面是使用 lme4 包中名为 Dyestuff 的内置数据的 lmer 和 qqmath 函数的示例。该代码将使用 ggmath 函数生成层次模型和漂亮的绘图。

最后一行代码生成了一个非常漂亮的每个截距图,每个估计值都有误差。但是格式化qqmath函数似乎很困难,我一直在努力格式化绘图。我提出了一些我无法回答的问题,我认为其他人如果使用 lmer/qqmath 组合也可以从中受益:

  1. 有没有办法使用上面的 qqmath 函数并添加一些选项,例如使某些点为空与填充,或者不同的点使用不同的颜色?例如,您能否将 Batch 变量的 A、B 和 C 点填满,但其余点为空?
  2. 是否可以为每个点添加轴标签(例如,可能沿着顶部或右侧 y 轴)?
  3. 我的数据有接近 45 个截距,所以可以在标签之间添加间距,这样它们就不会相互碰撞?主要是,我对区分/标记图表上的点感兴趣,这在 ggmath 函数中似乎很麻烦/不可能。

到目前为止,在 qqmath 函数中添加任何附加选项都会产生错误,如果它是标准图,我不会得到错误,所以我很茫然。

另外,如果您觉得有一个更好的包/功能可以从 lmer 输出中绘制截距,我很想听听!(例如,你能用 dotplot 做第 1-3 点吗?)

编辑:如果可以合理格式化,我也愿意接受替代点图。我只是喜欢 ggmath 情节的外观,所以我从一个关于它的问题开始。

0 投票
3 回答
11557 浏览

r - 将 lmer 输出到 word/excel

我正在R使用一个名为lme4.

执行模型:

让我在控制台中输出,如帖子末尾所示。我想复制这个看起来像表格的东西,以便 Excel 或最终单词,识别单独的列和行。Ctrl-C/Ctrl-V to excel 确实可以识别行,但不能识别列。

使用write.csv(lmer.rasch)给出错误:

as.data.frame.default(x[[i]], optional = TRUE) 中的错误:无法将类 'structure("mer", package = "lme4")' 强制转换为 data.frame

这是包内的问题,还是我错误地使用 write 函数的一般问题,或者 R 实际上没有将此输出分成列?

0 投票
1 回答
2245 浏览

r - 如何在函数中使用 lmer

我正在尝试编写一个函数来收集我在脚本中经常使用的一些调用我
在示例中使用 lme4 包的 sleepstudy 数据
这是我开始使用的函数的(简化版本):

当我像下面这样调用这个函数时:

输出的前三行如下所示:

如果我在控制台中调用了 trimModel1 函数的命令,模型摘要的前三行如下所示:

区别是一个问题,因为使用 lme4 包的几个包都使用了公式和数据字段。例如,效果包使用这些字段,当我使用上面的 trimModel1 函数时,下面的命令将不起作用:

我在 stackoverflow 和 R 讨论组上四处寻找解决方案,发现您可以更改模型的公式字段。如果取消注释lm@call$formula<-frmtrimModel1 函数中的行,摘要中的公式字段将正确显示。不幸的是,当我现在从效果包中运行一个函数时,我仍然收到错误:

这是因为数据字段仍然不正确。
我发现的另一个可能的解决方案是这个函数:

当我现在在控制台中键入以下命令时,我没有收到任何错误:

allEffects 函数有效,但现在的问题是 fm2 模型的摘要显示原始 sleepstudy 数据。这对于 sleepstudy 数据不是什么大问题,但是对于非常大的数据集,有时 Rstudio 在显示模型时会崩溃。
有谁知道如何使这些功能中的一个(或两个)正常工作?
我想我必须更改 fm1@call$data 字段,但我不知道如何。

0 投票
1 回答
346 浏览

r - R:找到产生 S4 插槽输出的源代码?

大家好,

当“lme4”中的“lmer”函数运行时,它会生成一个带有很多插槽的 S4 对象。我对这些插槽之一感兴趣,即模型@X,以及如何产生这个“X”插槽输出。我想尝试为我正在使用的不同模型函数(glmmPQL)重现这个输出,它不会自动产生这个'X'输出(仅供参考'lmer'产生一个'mer'类的对象,插槽'X'是一个模型固定效应的矩阵)。下面的代码显示了我在说什么。

我想弄清楚这个'X'数据是如何产生的?我通过在没有'()'的终端中编写'lmer'的代码来查看它,但我在那里找不到任何东西。我也试过 showMethod('lmer') 但它说 function 'lmer': 。

只是想知道是否有办法获取“X”插槽具体在做什么(或 S4 对象中的任何插槽)的源代码?或者有谁知道如何重现这个?非常感谢您的帮助和时间。