Questions tagged «lme4-nlme»

lme4和nlme是用于拟合线性,广义线性和非线性混合效果模型的R包。对于有关混合模型的一般问题,请使用[mixed-model]标签。

1
如何在lme4中解释多元混合模型的系数而无需整体拦截?
我正在尝试在中拟合多变量(即多响应)混合模型R。除了ASReml-r和SabreR软件包(需要外部软件)之外,似乎只有在中才有可能MCMCglmm。Jarrod Hadfield 在包装随附的论文MCMCglmm(pp.6)中描述了拟合模型的过程,例如将多个响应变量重塑为一个长格式变量,然后抑制总体截距。我的理解是,抑制截距会使响应变量每个级别的系数解释变为该级别的平均值。鉴于以上所述,因此是否可以使用来拟合多元混合模型lme4?例如: data(mtcars) library(reshape2) mtcars <- melt(mtcars, measure.vars = c("drat", "mpg", "hp")) library(lme4) m1 <- lmer(value ~ -1 + variable:gear + variable:carb + (1 | factor(carb)), data = mtcars) summary(m1) # Linear mixed model fit by REML # Formula: value ~ -1 + variable:gear + variable:carb + (1 | …

2
多重比较的层次模型-多重结果上下文
我刚刚(重新)阅读了格尔曼的《为什么我们(通常)不必担心多重比较》。特别是 “多重结果和其他挑战”部分提到在不同时间/条件下同一个人/单位有多个相关度量的情况下使用分层模型。它似乎具有许多理想的特性。 我了解这不一定是贝叶斯方法。有人可以告诉我如何使用rjags和/或lmer(常规JAGS和BUGS以及其他混合模型库,例如MCMCglmm)也可以正确地构建多变量多级模型,以便我可以进行比较和比较。对比结果?我想要模型的情况类型反映在下面的玩具数据中(多变量,重复测量): set.seed(69) id <- factor(rep(1:20, 2)) # subject identifier dv1 <- c(rnorm(20), rnorm(20, 0.8, 0.3)) # dependent variable 1 data for 2 conditions dv2 <- c(rnorm(20), rnorm(20, 0.3, 0.6)) dv3 <- c(rnorm(20), rnorm(20, -0.3, 0.8)) dv4 <- c(rnorm(20), rnorm(20, 0.2, 1 )) dv5 <- c(rnorm(20), rnorm(20, 0.5, 4 …


1
为什么对poly(raw = T)与poly()会得到截然不同的结果?
我想对两个不同的时间变量建模,其中一些在我的数据中高度共线性(年龄+同​​类=周期)。这样做会给lmer和的相互作用带来麻烦poly(),但可能不限于lmer与nlmeIIRC 取得相同的结果。 显然,我对poly()函数的功能缺乏了解。我了解是什么poly(x,d,raw=T),我认为没有raw=T它就可以构成正交多项式(我不能说我真的很明白这是什么意思),这使拟合更容易,但不能让您直接解释系数。 我读到这是因为我使用的是预测函数,所以预测应该相同。 但是,即使模型正常收敛,它们也不是。我正在使用居中变量,我首先想到,正交多项式可能会导致与共线交互作用项有更高的固定效应相关性,但似乎具有可比性。我在这里粘贴了两个模型摘要。 这些图有望说明差异的程度。我使用了仅在开发人员中可用的预测功能。版本是lme4的版本(在这里听说过),但是固定效果在CRAN版本中是相同的(并且它们本身也看起来不一样,例如,当我的DV的范围为0-4时,交互作用约为5)。 lmer电话是 cohort2_age =lmer(churchattendance ~ poly(cohort_c,2,raw=T) * age_c + ctd_c + dropoutalive + obs_c + (1+ age_c |PERSNR), data=long.kg) 该预测仅是对假数据(所有其他预测变量= 0)的固定影响,其中我将原始数据中存在的范围标记为外推=F。 predict(cohort2_age,REform=NA,newdata=cohort.moderates.age) 如果需要的话,我可以提供更多背景信息(我无法轻松地产生一个可复制的示例,但是当然可以更加努力地尝试),但是我认为这是一个更基本的要求:poly()请向我解释该功能。 原始多项式 正交多项式(在Imgur处为修剪的,未修剪的)

2
将混合模型(作为随机效应)与简单的线性模型(作为固定效应)进行比较
我正在完成对大量数据的一些分析。我想采用在工作的第一部分中使用的线性模型,并使用线性混合模型(LME)重新拟合它。除了将模型中使用的变量之一用作随机效应外,LME非常相似。该数据来自一小群受试者(约10个)中的许多观察值(> 1000),我知道,将受试者的效果建模为随机效果更好(这是我要转移的变量)。R代码如下所示: my_modelB <- lm(formula = A ~ B + C + D) lme_model <- lme(fixed=A ~ B + C, random=~1|D, data=my_data, method='REML') 一切运行正常,结果极为相似。如果我可以使用RLRsim或AIC / BIC之类的东西来比较这两种模型并确定最合适的模型,那就太好了。我的同事们不想举报LME,因为尽管我认为LME是更合适的模型,但是没有一种容易获得的选择“更好”的方法。有什么建议么?

1
您为什么要从混合效应模型中进行预测,而又不包括随机效应呢?
这更多是一个概念性问题,但是在我使用时,R我将参考中的软件包R。如果目的是为了进行预测而拟合线性模型,然后在可能无法获得随机效应的情况下进行预测,那么使用混合效应模型有什么好处,还是应该使用固定效应模型? 例如,如果我有重量与高度数据以及其他一些信息,并且使用构建以下模型lme4,其中受试者是具有因子水平(Ñ = Ñ Ö 。小号一米p 升Ë 小号ññnn = n o 。š 一米p 升Ë 小号ñ=ñØ。s一个米p升Ësn=no.samples): mod1 <- lmer(weight ~ height + age + (1|subject), data=df, REML=F) 然后,我希望能够使用新的身高和年龄数据从模型中预测体重。显然,原始数据的个体差异是在模型中捕获的,但是可以在预测中使用此信息吗?假设我有一些新的身高和年龄数据,并且想要预测体重,我可以这样做: predict(mod1,newdata=newdf) # newdf columns for height, age, subject 这将使用predict.merMod,并且我可以在newdf或set中为(新)主题添加一列re.form =~0。在第一种情况下,尚不清楚模型如何处理“新”主观因素,在第二种情况下,是否会简单地忽略(平均)模型中捕获的个体差异以进行预测? 无论哪种情况,在我看来固定效果线性模型都可能更合适。确实,如果我的理解是正确的,那么如果预测中未使用随机效应,则固定效应模型应预测与混合模型相同的值。应该是这样吗?在R它不是,例如: mod1 <- lmer(weight ~ height + age + (1|subject), data=df, REML=F) predict(mod1,newdata=newdf, …

1
对于广义线性模型(例如,泊松混合模型(与glmer拟合)),lsmeans报告什么?
我正在分析设计实验中的眼动数据。我的数据的简化版本如下所示(您可以在此处获取dput()数据), head(lookDATA) participant fixationImage fixationCount 1 9 Automobile 81 2 9 Bird 63 3 9 Chair 82 4 9 Dog 64 5 9 Face 90 6 9 Plant 75 其中参与者是每个主题的唯一标识符,fixationImage是他们固定在哪个图片类别上,而fixationCount是他们固定在该图片类别上的次数。 我使用lme4包中的 glmer()将泊松模型拟合到数据中。 model<-glmer(fixationCount ~ fixationImage + (1|participant), family = poisson, data = lookDATA) 我使用lsmeans 包中的 lsmeans()来检查因子水平之间的差异, cld(lsmeans(model,"fixationImage")) 提供以下输出: fixationImage lsmean …

2
使用lme4的混合效应模型中交互项的P值
我正在使用lme4in来分析一些行为数据R,主要是按照Bodo Winter的出色教程进行的,但是我不理解我是否正确处理了交互。更糟糕的是,没有其他人参与到这项研究中来,因此使用混合模型,因此在确保一切正确的时候我有点不知所措。 我认为我应该尽最大的努力来解释问题,然后请求您的集体更正,而不是仅仅寻求帮助。其他一些方面是: 在写作时,我发现了这个问题,表明nlme更直接地给交互项赋予p值,但是我认为与的关系仍然有效lme4。 Livius'该问题的答案提供了许多其他阅读文章的链接,我将在接下来的几天中尝试阅读这些文章,因此,我将对所带来的任何进步进行评论。 在我的数据中,我有一个因变量dv,一个condition操作(0 =对照,1 =实验条件,应导致更高的值dv),还有一个前提条件,标记为appropriate:1为此进行编码的试验应显示出效果,但编码的试验0可能不会,因为缺少一个关键因素。 我还包括两个随机截距,分别用于subject和,用于target反映dv每个主题内以及所解决的14个问题中的每个问题的相关值(每个参与者都解决了每个问题的对照和实验版本)。 library(lme4) data = read.csv("data.csv") null_model = lmer(dv ~ (1 | subject) + (1 | target), data = data) mainfx_model = lmer(dv ~ condition + appropriate + (1 | subject) + (1 | target), data = data) interaction_model = lmer(dv ~ condition …


2
REML vs ML stepAIC
在尝试研究如何进行混合模型分析并随后使用AIC选择最佳模型之后,我感到不知所措。我不认为我的数据那么复杂,但是我想确认自己所做的正确,然后就如何继续提供建议。我不确定我应该使用lme还是lmer,然后再使用这两个,如果我应该使用REML或ML。 我有一个选择值,我想知道哪个协变量最能影响该值并允许进行预测。这是一些组合的示例数据和我正在使用的测试代码: ID=as.character(rep(1:5,3)) season=c("s","w","w","s","s","s","s","w","w","w","s","w","s","w","w") time=c("n","d","d","n","d","d","n","n","n","n","n","n","d","d","d") repro=as.character(rep(1:3,5)) risk=runif(15, min=0, max=1.1) comp1=rnorm(15, mean = 0, sd = 1) mydata=data.frame(ID, season, time, repro, risk, comp1) c1.mod1<-lmer(comp1~1+(1|ID),REML=T,data=mydata) c1.mod2<-lmer(comp1~risk+(1|ID),REML=T,data=mydata) c1.mod3<-lmer(comp1~season+(1|ID),REML=T,data=mydata) c1.mod4<-lmer(comp1~repro+(1|ID),REML=T,data=mydata) c1.mod5<-lmer(comp1~time+(1|ID),REML=T,data=mydata) c1.mod6<-lmer(comp1~season+repro+time+(1|ID),REML=T,data=mydata) c1.mod7<-lmer(comp1~risk+season+season*time+(1|ID),REML=T,data=mydata) 我有〜19个模型,这些模型使用各种组合和最多2种交互作用项来探索此数据,但始终以ID为随机效应,而comp1为我的因变量。 Q1。使用哪个?我还是我?有关系吗? 在这两种方法中,我都可以选择使用ML或REML-并且得到了截然不同的答案-使用ML再加上AIC,我最终得到了6个具有相似AIC值的模型,并且模型组合根本没有意义,而REML导致最有可能的两个模型是最好的。但是,在运行REML时,我无法再使用方差分析。 Q2。与ANOVA一起使用,是在ML之上使用ML的主要原因是什么?我不清楚。 我仍然无法运行stepAIC,或者我不知道缩小19种模型的其他方法。 Q3。目前有没有办法使用stepAIC?

3
多次表面接触后手指上的细菌积聚:非正常数据,重复测量,交叉参与者
介绍 我有一些参与者在两种情况下反复接触被大肠杆菌污染的表面(A =戴手套,B =不戴手套)。我想知道戴着和不戴着手套的指尖上的细菌数量之间以及接触数之间是否存在差异。这两个因素都是参与者。 实验方法: 参与者(n = 35)用同一根手指触摸每个方块一次,最多8个接触点(见图a)。 然后,我擦拭参与者的手指,并在每次接触后测量指尖上的细菌。然后,他们用一根新手指触摸不同数量的表面,以此类推,从1到8个触点(见图b)。 这是真实数据:真实数据 该数据是非正态的,因此请参见下面的细菌边际分布| NumberContacts。x =细菌。每个方面都是不同数量的联系人。 模型 根据使用gamma(link =“ log”)和NumberContacts的多项式的变形虫的建议,从lme4 :: glmer尝试: cfug<-glmer(CFU ~ Gloves + poly(NumberContacts,2) + (-1+NumberContacts|Participant), data=(K,CFU<4E5), family=Gamma(link="log") ) plot(cfug) 注意 Gamma(link =“ inverse”)不会说PIRLS减半未能减少偏差。 结果: cfug的拟合vs残差 qqp(resid(cfug)) 题: 是否正确定义了我的glmer模型,以纳入每个参与者的随机影响以及每个人都同时进行实验A和实验B的事实? 加成: 参与者之间似乎存在自相关。这可能是因为没有在同一天对它们进行测试,并且细菌瓶随着时间的推移而增长和下降。有关系吗? acf(CFU,lag = 35)显示一个参与者与另一个参与者之间的显着相关性。

3
如何处理等于1或-1的随机效应相关性?
当处理复杂的最大混合模型时(估计给定数据和模型的所有可能随机效应)是完美的(+1或-1)或在某些随机效应之间几乎完美的相关性,这种情况并不罕见。为了讨论的目的,让我们观察以下模型和模型摘要 Model: Y ~ X*Cond + (X*Cond|subj) # Y = logit variable # X = continuous variable # Condition = values A and B, dummy coded; the design is repeated # so all participants go through both Conditions # subject = random effects for different subjects Random effects: Groups Name …

1
使用lme4 glmer和glmer.nb帮助解释计数数据GLMM-负二项式与Poisson
我对GLMM的规范和解释有一些疑问。3个问题绝对是统计学上的问题,2个是关于R的更具体的问题。我在这里发布,因为最终我认为问题是GLMM结果的解释。 我目前正在尝试安装GLMM。我使用的是美国经纬度数据库中的美国人口普查数据。我的观察是人口普查区。我的因变量是空置住房的数量,我对空置与社会经济变量之间的关系很感兴趣。这里的示例很简单,仅使用两个固定的影响:非白人人口百分比(种族)和家庭收入中位数(阶级)及其相互作用。我想包括两个嵌套的随机效应:几十年和几十年之内的片段,即(十年/片段)。我正在考虑这些随机变量,以控制空间(即区域之间)和时间(即数十年之间)的自相关。但是,我也对十年作为固定影响感兴趣,因此我也将它作为固定因素包括在内。 由于我的自变量是非负整数计数变量,因此我一直在尝试拟合泊松和负二项式GLMM。我使用的是房屋总数的对数。这意味着系数被解释为对空置率的影响,而不是对空置房屋总数的影响。 我目前有使用lme4的glmer和glmer.nb估计的泊松和负二项式GLMM的结果。根据我对数据和研究领域的了解,对系数的解释对我来说很有意义。 如果您需要数据和脚本,它们位于我的Github上。该脚本包括我在构建模型之前所做的更多描述性调查。 这是我的结果: 泊松模型 Generalized linear mixed model fit by maximum likelihood (Laplace Approximation) ['glmerMod'] Family: poisson ( log ) Formula: R_VAC ~ decade + P_NONWHT + a_hinc + P_NONWHT * a_hinc + offset(HU_ln) + (1 | decade/TRTID10) Data: scaled.mydata AIC BIC logLik deviance df.resid 34520.1 34580.6 …

1
样条混合效果模型
我正在用样条曲线项拟合混合效果模型,该应用程序的随时间变化的趋势是曲线线性的。但是,我要评估的是曲线趋势是否是由于个体偏离线性而出现的,还是在组水平上使组水平拟合显得曲线线性的一种影响。我给出了一个可重现的示例,该示例使JM包中的数据集变得无聊。 library(nlme) library(JM) data(pbc2) fitLME1 <- lme(log(serBilir) ~ ns(year, 2), random = ~ year | id, data = pbc2) fitLME2 <- lme(log(serBilir) ~ year, random = ~ ns(year, 2) | id, data = pbc2) 本质上,我想知道其中哪一个更适合我的数据。但是通过比较anova给了我一个不祥的警告: Model df AIC BIC logLik Test L.Ratio p-value fitLME1 1 7 3063.364 3102.364 -1524.682 fitLME2 …
9 r  splines  lme4-nlme 

1
如何在R中使用Lmer设置自定义对比度
我在R中使用lmer来检查条件(cond)对某些结果的影响。这是一些组成的数据,其中s是主题标识符a,b和c是条件。 library("tidyr") library("dplyr") set.seed(123) temp <- data.frame(s = paste0("S", 1:30), a = rnorm(30, -2, 1), b = rnorm(30, -3, 1), c = rnorm(30, -4, 1)) 我想比较 级别a的平均水平b,并c与 逐级b升级c。 我的问题是,如何设置对比度以使截距反映三个条件的均值,而两个计算出的估计值直接反映1.和2中定义的差异? 我尝试过 c1 <- cbind(c(-0.5, 0.25, 0.25), c(0, -0.5, 0.5)) gather(temp, cond, result, a, b, c) %>% lmer(result ~ cond + (1|s), …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.