问题标签 [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.
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 新手,我无法解决。
对此的任何帮助将不胜感激。
r - 在 R 中使用 lmer() 正确格式化混合模型设计
我正在尝试使用lmer()
. 下面的三个模型都试图实现相同的目标——一个简单的固定效应模型——所以两个肯定是错的。
在模型中,shoppers
是商业中心的消费者支出数据。有一个一般的平方反比距离关系描述了消费者是如何从中心分布的。这反映在一个gravity
模型中,该矩阵将较近的区域加权高于较远的区域,以模拟距离的影响。 Population
还给出了住宅区的大小。我认为这r3
应该是正确的格式,但它产生的 AIC 分数高于r2
. 知道为什么会这样,哪个是正确的?
提前谢谢了!
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
r - 使用带有 lmer() 的预测变量矩阵
我试图用大量预测变量拟合模型,这样在模型公式中列举它们会很乏味。使用 lm() 很简单:
由于我有大量的预测变量(超过本发明示例中的 26 个),我不想像第一个示例(someDV ~ A + B + C + D...
)中那样单独列出它们,我可以通过仅包括预测变量来避免这种情况as.matrix
。
但是,我想拟合一个混合效果模型,如下所示:
除了我想包含大量随机效应项。而不是必须键入(1 | A) ... (1 | ZZZ)
,我想以类似于olsModel2
上面使用的矩阵方法的方式包含每个预测变量。显然,以下内容不起作用:
您对如何使用 lmer() 最好地复制随机效应的矩阵预测器方法有什么建议吗?我非常愿意考虑“实用”的解决方案(即黑客),只要它们是“程序化的”并且不需要我复制和粘贴等。
在此先感谢您的时间。
r - lmer() 和 anova() 之间模型适应度估计的差异
我想对生物数据随时间的治疗效果进行建模,lmer()
以考虑个体效果。通常使用的过程是通过逐步删除固定效应和交互项来构建多个模型,然后在anova(model1,model2)
发现不显着差异时使用并保留最简约的模型找到最佳模型。但是,我在summary(model1)
和的输出之间发现了不同的模型适应度值(AIC、BIC ..) anova (model1,model2)
。这是代码:
比较输出时,两个模型之间有 14 个 AIC 单位差异,summary()
但在anova()
. 这种差异从何而来?提前致谢。
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 + ... 才能仅获得截距等?
我想我的代码看起来像这样:
或这个:
谢谢!
最好的祝福亚历克萨
r - 使用 qqmath 或 dotplot 从 lmer(lme4 包)绘制随机效果:如何让它看起来很花哨?
qqmath 函数使用 lmer 包的输出制作了很棒的随机效应毛毛虫图。也就是说,qqmath 非常擅长绘制分层模型的截距及其在点估计周围的误差。下面是使用 lme4 包中名为 Dyestuff 的内置数据的 lmer 和 qqmath 函数的示例。该代码将使用 ggmath 函数生成层次模型和漂亮的绘图。
最后一行代码生成了一个非常漂亮的每个截距图,每个估计值都有误差。但是格式化qqmath函数似乎很困难,我一直在努力格式化绘图。我提出了一些我无法回答的问题,我认为其他人如果使用 lmer/qqmath 组合也可以从中受益:
- 有没有办法使用上面的 qqmath 函数并添加一些选项,例如使某些点为空与填充,或者不同的点使用不同的颜色?例如,您能否将 Batch 变量的 A、B 和 C 点填满,但其余点为空?
- 是否可以为每个点添加轴标签(例如,可能沿着顶部或右侧 y 轴)?
- 我的数据有接近 45 个截距,所以可以在标签之间添加间距,这样它们就不会相互碰撞?主要是,我对区分/标记图表上的点感兴趣,这在 ggmath 函数中似乎很麻烦/不可能。
到目前为止,在 qqmath 函数中添加任何附加选项都会产生错误,如果它是标准图,我不会得到错误,所以我很茫然。
另外,如果您觉得有一个更好的包/功能可以从 lmer 输出中绘制截距,我很想听听!(例如,你能用 dotplot 做第 1-3 点吗?)
编辑:如果可以合理格式化,我也愿意接受替代点图。我只是喜欢 ggmath 情节的外观,所以我从一个关于它的问题开始。
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 实际上没有将此输出分成列?
r - 如何在函数中使用 lmer
我正在尝试编写一个函数来收集我在脚本中经常使用的一些调用我
在示例中使用 lme4 包的 sleepstudy 数据
这是我开始使用的函数的(简化版本):
当我像下面这样调用这个函数时:
输出的前三行如下所示:
如果我在控制台中调用了 trimModel1 函数的命令,模型摘要的前三行如下所示:
区别是一个问题,因为使用 lme4 包的几个包都使用了公式和数据字段。例如,效果包使用这些字段,当我使用上面的 trimModel1 函数时,下面的命令将不起作用:
我在 stackoverflow 和 R 讨论组上四处寻找解决方案,发现您可以更改模型的公式字段。如果取消注释lm@call$formula<-frm
trimModel1 函数中的行,摘要中的公式字段将正确显示。不幸的是,当我现在从效果包中运行一个函数时,我仍然收到错误:
这是因为数据字段仍然不正确。
我发现的另一个可能的解决方案是这个函数:
当我现在在控制台中键入以下命令时,我没有收到任何错误:
allEffects 函数有效,但现在的问题是 fm2 模型的摘要显示原始 sleepstudy 数据。这对于 sleepstudy 数据不是什么大问题,但是对于非常大的数据集,有时 Rstudio 在显示模型时会崩溃。
有谁知道如何使这些功能中的一个(或两个)正常工作?
我想我必须更改 fm1@call$data 字段,但我不知道如何。
r - R:找到产生 S4 插槽输出的源代码?
大家好,
当“lme4”中的“lmer”函数运行时,它会生成一个带有很多插槽的 S4 对象。我对这些插槽之一感兴趣,即模型@X,以及如何产生这个“X”插槽输出。我想尝试为我正在使用的不同模型函数(glmmPQL)重现这个输出,它不会自动产生这个'X'输出(仅供参考'lmer'产生一个'mer'类的对象,插槽'X'是一个模型固定效应的矩阵)。下面的代码显示了我在说什么。
我想弄清楚这个'X'数据是如何产生的?我通过在没有'()'的终端中编写'lmer'的代码来查看它,但我在那里找不到任何东西。我也试过 showMethod('lmer') 但它说 function 'lmer': 。
只是想知道是否有办法获取“X”插槽具体在做什么(或 S4 对象中的任何插槽)的源代码?或者有谁知道如何重现这个?非常感谢您的帮助和时间。