我正在使用包含 205 个观察值和 2 个解释变量的数据集:(site
两个级别)和strain
(21 个级别)。当应变是固定变量时,我试图将混合模型拟合到数据中。实验不平衡(即每个菌株*位点组合中的重复次数不同)。我使用 Rstudio 3.0.2;窗户 8。
我首先尝试运行以下命令-
lme(dist_OFT_min1~strain ,
random=~strain|site,data=data.frame(d1),
method='REML')
但是我收到以下错误:
logLik.lmeStructInt(lmeSt, lmePars) 中的错误:'Calloc' 无法分配内存(8 个字节的 730512784)
此外:警告消息:
1:在 logLik.lmeStructInt(lmeSt,lmePars) 中:达到 3873Mb 的总分配:请参阅帮助(memory.size)
2:在 logLik.lmeStructInt(lmeSt, lmePars) 中:达到 3873Mb 的总分配:请参阅帮助(memory.size)
我试图将内存限制增加到 8000 。但是,当我重新运行上一行 Rstudio(以及整个 pc)变得非常缓慢且无响应时,我让它运行了 30 多分钟而没有结果。
我试图将模型拟合到一个缩减数据集 - 仅包含 5 个菌株:
lme(dist_OFT_min1~strain ,
random=~strain|site,
data=data.frame(d.test),
method='REML',
control = lmeControl(msMaxIter =90,maxIter=90))
又出现了另一种麻烦:
lme.formula 中的错误(dist_OFT_min1 ~ 应变,随机 = ~strain | 站点,:
nlminb 问题,收敛错误代码 = 1 消息 = 没有收敛就达到迭代限制 (10)
谁能帮我了解我的数据可能会遇到什么样的麻烦?我怎样才能检查任何?(我还是个初学者)。在这里,我分享了我自己模拟的类似数据,但我遇到了与原始数据相同的问题(实验室等于站点):
library(nlme)
u.strain=letters[1:10]
u.lab=paste('L',letters[1:5],sep='')
test.dat=data.frame(strain=sort(rep(u.strain,5)),lab=rep(u.lab,10),test=rep(7,50))
test.dat[order(test.dat$strain),'test']=test.dat[order(test.dat$strain),'test']+sort(rep(rnorm(n=10,mean=0,sd=3),5)) #strain effect
test.dat[order(test.dat$lab),'test']=test.dat[order(test.dat$lab),'test']+sort(rep(rnorm(n=5,mean=0,sd=4),10)) #lab effect
test.dat[,'test']=test.dat[,'test']+ rnorm(n=50,mean=0,sd=5) # interaction
test.dat=rbind(test.dat,test.dat,test.dat,test.dat,test.dat)
test.dat[,'test']=test.dat[,'test']+rnorm(n=250,0,sd=2.5)
我认为我实际需要的模型如下:
lme(teat~strain , random=~strain+strain:lab|lab,
data=data.frame(test.dat),method='REML')
还是同样的麻烦出现了。
ps 我主要寻求估计相互作用应变的方差:lab。有小费吗 ?