标签: nlme

R中具有交叉重复效应和AR1协方差结构的线性混合模型

我有来自参与者的受试者内部生理数据(part),他们都在三轮(round)中查看了刺激(阅读报纸),每轮都有五篇论文(paper),并且在报纸中每个都有不同的访问次数(visit) .我有两个固定的因素(CONDhierCONDabund)加上相互作用来预测生理状态(例如EDA),这通常是自回归的.我试着考虑生理学中随机效应的个体差异(让我们暂时解决拦截问题),并且可能会因为其他随机效应而导致疲劳.

因此,我希望在R中运行的模型在SPSS中是:

MIXED EDA BY CONDhier CONDabund  
 /FIXED=CONDhier CONDabund CONDhier*CONDabund | SSTYPE(3)  
 /RANDOM=INTERCEPT | SUBJECT(part) COVTYPE(VC)  
 /RANDOM=INTERCEPT | SUBJECT(part*round) COVTYPE(VC)  
 /PRINT=SOLUTION  
 /METHOD=REML  
 /REPEATED=visit | SUBJECT(part*round*paper) COVTYPE(AR1).
Run Code Online (Sandbox Code Playgroud)

现在,我已经明白,虽然lme没有做好交叉术语,lmer(处理交叉术语没有问题)不能使用不同的协方差结构.我可以运行简单的lme模型,如

    lme(EDA ~ factor(CONDhier) * factor(CONDabund), random= ~1
   |part, na.action=na.exclude, data=phys2)
Run Code Online (Sandbox Code Playgroud)

但是更复杂的模型超出了我的范围.我已经读过lme中的交叉术语可以用随机定义来完成

    random=pdBlocked(list(pdCompSymm(~part), pdCompSymm(~round-1), pdCompSymm(~paper-1), 
pdCompSymm(~visit-1)))
Run Code Online (Sandbox Code Playgroud)

但这似乎阻止了AR1结构,并且第二次随机拦截了部分*round,来自我.而且我不太确定它和我的SPSS语法一样.

那么,有什么建议吗?虽然在lme和lmer上有很多不同的着作,但我找不到一个既有交叉术语又有AR1的作品.

(另外,关于lme的语法看起来很模糊:从几个不同的来源我已经理解了|在左边的东西下面是什么,组成嵌套术语,~1是随机截距,~x是随机斜率,和~1 + x都是,但似乎至少有:和-1定义,我在任何地方都找不到.是否有一个教程可以解释所有不同的定义?)

r lme4 mixed-models nlme

41
推荐指数
1
解决办法
3542
查看次数

如何使用lme4将没有随机效应的模型与具有随机效应的模型进行比较?

我可以使用nlme包中的gls()来构建没有随机效果的mod1.然后我可以将使用AIC的mod1与使用lme()构建的mod2进行比较,其中包含随机效果.

mod1 = gls(response ~ fixed1 + fixed2, method="REML", data)
mod2 = lme(response ~ fixed1 + fixed2, random = ~1 | random1, method="REML",data)
AIC(mod1,mod2)
Run Code Online (Sandbox Code Playgroud)

是否有类似于gls()的lme4包,它允许我构建没有随机效果的mod3,并将它与使用lmer()构建的mod4进行比较,其中包含随机效果?

mod3 = ???(response ~ fixed1 + fixed2, REML=T, data)
mod4 = lmer(response ~ fixed1 + fixed2 + (1|random1), REML=T, data)
AIC(mod3,mod4)
Run Code Online (Sandbox Code Playgroud)

r lme4 mixed-models nlme

19
推荐指数
1
解决办法
1万
查看次数

R:如何从nlme调用中获取Hessian

library(nlme)
fm1 <- nlme(height ~ SSasymp(age, Asym, R0, lrc),
            data = Loblolly,
            fixed = Asym + R0 + lrc ~ 1,
            random = Asym ~ 1,
            start = c(Asym = -10311111, R0 = 8.5^4, lrc = 0.01),
            verbose = TRUE)

**Iteration 1
LME step: Loglik: -312.2787, nlminb iterations: 23
reStruct  parameters:
    Seed 
10.41021 
Error in nlme.formula(height ~ SSasymp(age, Asym, R0, lrc), data = Loblolly,  : 
  Singularity in backsolve at level 0, block 1
Run Code Online (Sandbox Code Playgroud)

我试图nlme通过观察粗麻布来研究为什么有些模型不能成功.有办法以某种方式提取这个矩阵吗?

我也在查看fdHess函数(也来自同一个pacakge),"使用有限差分评估一个近似Hessian和一个标量函数的梯度"这是否等同于函数中当前实现的内容nlme …

r nlme hessian-matrix

17
推荐指数
1
解决办法
450
查看次数

na.fail.default出错:对象中缺少值 - 但没有缺失值

我正在尝试使用这些数据运行lme模型:

tot_nochc=runif(10,1,15)
cor_partner=factor(c(1,1,0,1,0,0,0,0,1,0))
age=runif(10,18,75)
agecu=age^3
day=factor(c(1,2,2,3,3,NA,NA,4,4,4))
dt=as.data.frame(cbind(tot_nochc,cor_partner,agecu,day))
attach(dt)

corpart.lme.1=lme(tot_nochc~cor_partner+agecu+cor_partner *agecu, 
                  random = ~cor_partner+agecu+cor_partner *agecu |day, 
                  na.exclude(day))
Run Code Online (Sandbox Code Playgroud)

我收到此错误代码:

na.fail.default出错(列表(cor_partner = c)(1L,1L,2L,1L,1L,1L,:对象中缺少值)

我知道论坛中有类似的问题.但是,在我的情况下:

  • cor_partner没有缺失值;
  • 整个对象被编码为一个因素(至少从全球环境显示的那个).

我可以用na.action排除那些NA值,但我想知道为什么函数正在读取缺失值 - 以准确理解我的数据发生了什么.

r error-code missing-data nlme

15
推荐指数
3
解决办法
6万
查看次数

在nlme和lme4中安装相同的模型

数据来自这里

library(nlme)
dat0 <- read.table("aids.dat2",head=T)
dat1 <- dat0[dat0$day<=90, ]   # use only first 90-day data
dat2 <- dat1[!apply(is.na(dat1),1,any),]  # remove missing data 

# Next, let's treat the data as longitudinal (or grouped) data 
aids.dat <- groupedData(lgcopy ~ day | patid, data=dat2)

# A NLME model fit, with random effects on all 4 parameters 
start <- c(10,0.5,6,0.005)  # starting value 

aids.dat$log10copy = log10(aids.dat$lgcopy)

nlme.fit <- nlme(log10copy ~ exp(p1-b1*day) + exp(p2-b2*day + 1),
                 fixed = list(p1 ~ 1, b1 ~ 1, …
Run Code Online (Sandbox Code Playgroud)

r lme4 mixed-models nlme

9
推荐指数
1
解决办法
781
查看次数

包车无法加载,错误的版本nlme

当我尝试加载'car'包时出现此错误:

library(car)

Error in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]) : 
  namespace 'nlme' 3.1-122 is already loaded, but >= 3.1.123 is required
Error: package or namespace load failed for 'car'
Run Code Online (Sandbox Code Playgroud)

但是当我跑步时update.packages(),没有什么可以更新的.如果重要的话,我正在使用MRO 3.2.3.

r r-car nlme

8
推荐指数
1
解决办法
4461
查看次数

non linear regression with random effect and lsoda

I am facing a problem I do not manage to solve. I would like to use nlme or nlmODE to perform a non linear regression with random effect using as a model the solution of a second order differential equation with fixed coefficients (a damped oscillator).

I manage to use nlme with simple models, but it seems that the use of deSolve to generate the solution of the differential equation causes a problem. Below an example, and the problems I …

r ode differential-equations nlme non-linear-regression

8
推荐指数
1
解决办法
201
查看次数

如何在lme中分别拟合两个随机效果?

我正在使用REML在nlme包中进行线性混合效果模型拟合.这些代码对我有用:

# Linear mixed-effects model fit by REML (intercept and not slope)
x <- lme (DV ~ IV1 + IV2 + IV1*IV2, data=a.frame, random=~1|speaker)
summary(x)

# Linear mixed-effects model fit by REML (slope and no intercept)
x1 <- lme (DV ~ IV1 + IV2 + IV1*IV2, data=a.frame, random=~IV3-1|speaker)
summary(x1)

# Linear mixed-effects model fit by REML (slope and intercept)
x2 <- lme (DV ~ IV1 + IV2 + IV1*IV2, data=a.frame, random=~IV3|speaker)
summary(x2)

#nested random effect
x5 <- lme (DV ~ …
Run Code Online (Sandbox Code Playgroud)

random r nlme

7
推荐指数
1
解决办法
1万
查看次数

使用ggplot绘制非线性回归列表

作为此链接的非线性回归分析的输出图

https://stats.stackexchange.com/questions/209087/non-linear-regression-mixed-model

使用此数据集:

zz <-(" iso temp diam
 Itiquira   22  5.0
 Itiquira   22  4.7
 Itiquira   22  5.4
 Itiquira   25  5.8
 Itiquira   25  5.4
 Itiquira   25  5.0
 Itiquira   28  4.9
 Itiquira   28  5.2
 Itiquira   28  5.2
 Itiquira   31  4.2
 Itiquira   31  4.0
 Itiquira   31  4.1
 Londrina   22  4.5
 Londrina   22  5.0
 Londrina   22  4.4
 Londrina   25  5.0
 Londrina   25  5.5
 Londrina   25  5.3
 Londrina   28  4.6
 Londrina   28  4.3
 Londrina   28  4.9
 Londrina   31  4.4
 Londrina   31  4.1
 Londrina   31  4.4 …
Run Code Online (Sandbox Code Playgroud)

r list ggplot2 nlme

7
推荐指数
1
解决办法
883
查看次数

随机效应变量是否自动作为 R 中 lmer(或 lme)的因子?

我知道在混合效应模型中将连续或数字变量作为随机效应并没有多大意义(例如,请参阅此处)。

但我想知道的是,是否lme4::lmernlme::lme在 R 中故意阻止你这样做......

具体来说,我要问的是:如果我提供lmer(或lme)任何非因素(非分类)变量作为随机效应,函数是否会自动将其视为一个因素?

插入factor()直接进入11聚物(如当使用常规方法lm)产生以下错误:

lmer(y ~ z + (1|factor(x)), data = dat)
Error: couldn't evaluate grouping factor factor(x) within model frame: try adding grouping factor to data frame explicitly if possible
Run Code Online (Sandbox Code Playgroud)

虽然上面的错误提到直接向数据添加分组因子,但它没有指定所述分组因子是否需要是一个因子(或者这可能是选择一词隐含的)?

我知道直接从我的数据创建一个新的因子类变量相当简单,但我很好奇在使用lmer(或lme)时是否真的有必要。

r lme4 mixed-models categorical-data nlme

7
推荐指数
1
解决办法
2165
查看次数