问题标签 [nlme]
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 - 如何为嵌套个体的水产养殖营养中的鲍鱼生长编写混合效应模型
我是一名从事水产养殖营养研究的生物学家,直到最近我还没有过多关注统计的力量。通常的分析方法是对动物的最终体重进行方差分析,给予各种治疗和繁荣,你有一个结果。我试图通过设计一个可以跟踪个人随时间增长的实验来改善我的结果,但是我很难理解要使用哪种模型来处理我拥有的数据。
为了简化我的实验解释:我有 900 只鲍鱼/蜗牛,它们来自一个群体(同时产卵/出生)。我已分别标记每个鲍鱼 (id) 并在时间 0 记录长度和重量。然后将动物随机分配 6 种治疗饮食中的 1 种(每次治疗 n = 30 只鲍鱼),每个重复 n = 5 次(n = 150 鲍鱼 /复制)。每个重复看起来像一个随机区组设计,其中每个处理在每个区组内仅重复一次,并且每个都分配到独立的罐中,n=30 鲍鱼/罐(n 次处理)。鲍鱼被喂食已知量的饲料 90 天,然后再次称重和测量(时间 1)。在结束实验之前,他们又回到家中 90 天。
据我了解:固定效应 - 时间,治疗嵌套随机效应 - 复制,id
我输入的原始数据是长格式的,每一行是一个唯一的动物和时间(0 或 1)列,复制(1-5),治疗(1-6),性别(M 或 F)动物 ID(1- 900)、长度(mm)、重量(g)、条件系数(重量/长度^2.99*5655)
在使用新变量创建数据框之前,我使用了原始数据中的列并将它们转换为因子和向量。
我的数据框目前采用以下结构:
df1<-data.frame(time,replicate,treatment,id,weight,length,cf)
我正在努力了解如何将我的个体鲍鱼嵌套在复制品中。我可以将重量数据转换为从初始值开始的变化,但我认为包装nlme
在正确编码时已经考虑了这种变化。我还可以在时间 1 为每只动物创建另一个特定增长率的度量,但这不允许使用时间因子。
我想构建一个混合效应模型,以便我的代码考虑到个体动物的变异性,以检测治疗之间时间 1 体重的统计差异。
r - 对需求数据的随机影响
伙计们,
我正在尝试使用 {nlme} 包中的 lme() 在 R 中拟合一个模型,该模型具有许多固定效果和附加随机效果(必须是 {nlme},因为我还想稍后包含一个 AR(1) 相关矩阵) . 但是,该模型非常慢(由于大量的固定效应)。
现在,我们知道运行带有假人的模型在数值上但不是在计算上等同于在去均值数据上运行模型(在估计范围内)。因此,以下两个模型会产生相同的结果,但第一个模型运行得更快:
当我们想在第二个分组变量上额外包含随机效应时,可以做类似的事情吗?以下是我的尝试,它不起作用。
我错过了什么或我做错了什么?或者,将随机效应模型拟合到贬义数据上不是那么简单吗?
干杯
r - 更改 nlme() 格状图中的拟合线颜色?
我正在尝试使用分组数据进行拟合,然后绘制 plot(augPred(fit))。但是,我想更改线条颜色,因为它是点的相似颜色。有没有办法让线条变成不同的颜色?另外,我想删除图中的数据点,只留下两条拟合线,以便比较它们。在附图中,我想删除数据点并更改拟合线的颜色。
非常感谢您的帮助。拉维
r - 为什么 gnls(来自 R 的 nlme 包)估计一条不一定适合我的数据的曲线?
我试图拟合非线性曲线,同时指定基于系统发育的协方差结构。为此,我使用来自 nlme 的 gnls 来拟合我的模型,而协方差结构是使用来自 ape 的 corBrownian 创建的。分析运行良好,但我发现 gnls 不会产生一条曲线,其参数非常适合我的数据。
为了重现正在发生的事情,我创建了一个虚假数据集,其中 x 和 y 变量之间存在看似非线性的关系。
由于这是组成的数据,我没有系统发育,所以我使用 rtree from ape 模拟它(由于树是随机生成的,会有细微的差异,但总体结果应该不会相差太大)。使用这棵树,我创建协方差结构并使用我指定的模型(此处称为“mod”)运行我的分析。
该分析的结果:
乍一看,我们可以看到渐近线 (A) 位于 -2,这远低于我的虚假数据集中的任何 y 值。此外,根据我的数据排列方式,S 参数应该是负数。当数据与带有参数估计的曲线一起绘制时,这一点更加明显:
我想我的问题是,为什么 gnls 不能将曲线拟合到我的数据中?最小二乘法的重点不是最小化 SSE 吗?这是模型不好的问题吗?一般来说,我对 nls/gnls 有什么遗漏或误解吗?有没有办法解决这个问题,使曲线更适合数据?
r - groupedData() 的问题
我正在关注混合效果模型的教程。本教程使用来自 mlmRev 包的 egsingle 数据集。作为教程的一部分,作者使用 groupedData() 作为:
有人可以帮我理解“schoolid/childid”是什么意思吗?
请注意,schoolid 和 childid 都是因素!
此外,在本教程的后面,作者采用大小为 50 的样本并使用 lmList() 来拟合每个主题的 OLS 回归,方法是:
当我运行上面的 lmList 命令时,我收到以下错误:
谁能帮我弄清楚为什么会出现这些错误?
r - 在 PNLS 步骤中,步骤减半因子降低到最小值以下
我在 nlme 中运行一个自启动的逻辑模型,并收到了经典的错误消息:
我首先输入代码:
一切正常。然后我去用代码标准化方差:
这是我收到错误消息的地方。现在,通常我可以通过简单地增加 pnlsTol 来在圆孔中安装一个方形钉。但是,在将其首先增加到 0.01,然后增加到 0.1,然后增加到 1,然后增加到 10,然后增加到 10,000,只是为了好玩,我不断收到错误消息。这让我相信除了 pnls 减半因素之外还有一些问题。有没有人知道可能导致此错误的原因?
r - 使用 R 计算使用 car 或 lme 之间的 ANOVA 交互对比
心理学学生来了。作为我论文的一部分,我从一个实验中获得了一些数据,该实验有两个主体间 IVclassification
和condition
,以及一个主体内 IV,trial_type
。数据形式如下:
我已经使用 nlme 将这些分析为方差分析,并生成 3 型 SS,因为这是我的课程所需要的
我想调查我的数据中存在的交互。具体来说,我想看看在“seq”条件下“训练”试验的值是否高于其他两个。过去,我使用“对比度”包中的 contrast() 来生成对比度矩阵,然后将其从 multcomp 包中发送到 glht()。在这种情况下,我尝试过:
然而,这返回
这似乎与方差 - 协方差矩阵有关,但我不确定问题是什么。
我的问题是,有没有办法解决这个问题?如果没有,有没有办法在另一个包中运行类似的对比,例如“汽车”?通过转换数据,我可以使用 car 包中的 Anova 生成相同的综合 F 测试,以便每个试验类型都有自己的列,但我不确定如何使用Anova()
.
r - 可以为 nlme 拟合绘制交互均值,但不适用于 lme4
使用这个虚拟数据集:
这有效:
但这不会:
对于后者,我只得到
从plot
命令。
当我查看int.nlme
和int.lmer
with 时str
,它们看起来确实不同,但我无法弄清楚问题所在。非常感谢任何输入。
r - 线性混合模型:克罗内克积协方差矩阵
让我们以Pixel
数据集为例。
pixel
是响应。Dog
有10个级别。Side
有2个级别。day
有9个级别。我想拟合一个模型,其中协方差矩阵是 10x10 单位Dog
矩阵、2x2 单位Side
矩阵、9x9 AR1day
矩阵之间的直接(kronecker)乘积。
所以应该是这样的
但是在这里,我在术语之间Dog
和术语中得到了嵌套结构。虽然这对于这个数据集是正确的,但我希望它通常是交叉的。此外,我不确定不同的组件将使用直接产品内部的.Side
corr
Dog:Side
corr
weights
lme
ps 我知道这个数据集是不平衡的,所以不是所有的 10x2x9=180 组合都存在。但是我仍然需要一般的直接产品结构,也许可以针对缺失的级别进行适当的调整。
r - 在函数中创建 lme 对象
背景
我正在尝试根据某些参数在函数中拟合混合模型。如果我想使用contrast
fromlibrary(contrast)
我必须使用一种解决方法, ascontrast
使用对象中的call
插槽lme
来确定函数中传递给的data
, fixed
or参数(参见代码)。顺便说一句,对象并非如此。random
lme
lm
数据
代码
问题
我已将错误追踪到contrast
评估whisfixed
插槽内的call
插槽的部分,当然这在顶层是未知的,因为它仅在我的函数内部定义。通过显式覆盖.mm2
mF
makeMixedModel2
makeMixedModel1
call
显然,对于lm
对象,这是以更智能的方式解决的,因为不需要手动覆盖,因为contrast
似乎可以评估正确上下文中的所有部分,当然mF
也不mdat
知道:
因此,我假设lm
存储 theformula
和data
某处的值,以便 in 也可以在不同的环境中检索。
我可以接受我的解决方法,尽管它有一些丑陋的副作用,因为它print(mm1)
显示了所有数据而不是简单的名称。所以我的问题是,是否还有其他策略可以实现我的意图?或者我是否必须写信给 的维护者contrast
并询问他,他是否可以更改lme
对象的代码,以使他不再依赖call
插槽,而是尝试以其他方式解决问题(就像为 所做的那样lm
)?