在得到@PhilipLeifeld 的建议后,我正在根据自己的进展重写这篇文章(请参阅下面的评论部分)。
我尝试clmm使用texreg. 由于该包不支持clmm其默认模式,因此我尝试使用功能扩展该包(请参阅Print“beautiful”tables for h2o models in Rextract上的答案部分)。同时,我发现https://gist.github.com/kjgarza/340201f6564ca941fe25上发布的代码可以作为我的起点;我将该代码称为下面的基线代码。以下模型(结果)几乎代表了我的实际代码。
library(ordinal)
library(texreg)
d<-data.frame(wine)
result<-clmm(rating~ 1+temp+contact+(1+temp|judge), data=d)
Run Code Online (Sandbox Code Playgroud)
我想在乳胶表中显示的是随机效应组件,它们在基线代码中被省略。以下是摘要输出的一部分。
summary(result)
Random effects:
Groups Name Variance Std.Dev. Corr
judge (Intercept) 1.15608 1.0752
tempwarm 0.02801 0.1674 0.649
Number of groups: judge 9
Run Code Online (Sandbox Code Playgroud)
具体来说,我想显示方差(和组数);我不需要相关部分。在处理基线代码时,我还了解到“texreg”仅允许乳胶显示的有限参数集,并且“include.variance”选项与我的目标相关。因此,我尝试将随机效应组件添加到“gof”参数中,以在基线代码中包含“include.variance”选项。
这是我所做的。首先,我将“include.variance”添加到定义 extract.clmm 函数的部分。
extract.clmm <- function(model, include.thresholds = TRUE, include.aic = TRUE,
include.bic = TRUE, include.loglik = TRUE, include.variance = TRUE, oddsratios = TRUE, conf.level= 0.95, include.nobs = TRUE, ...) { …Run Code Online (Sandbox Code Playgroud) 其他关键字: 最佳线性无偏估计量 (BLUE)、调整均值、混合模型、固定效应、线性组合、对比度、R
mmer()使用sommer包拟合模型后- 是否可以从对象获得估计边际均值 ( emmeans()) /最小二乘均值 (LS-means)mmer?也许类似于predict()ASReml-R v3 的功能?
实际上,我想要很多东西,也许分开要求会更清楚:
predict(..., vcov=T))emmeans(mod, pairwise ~ effect, adjust="Tukey")predict(..., sed=T))所以是的,基本上 和 的混合predict()将emmeans()是这里的目标。
提前致谢!
我正在使用该lme4包并运行线性混合模型,但我很困惑,但输出并期望我遇到错误,即使我没有收到错误消息。基本问题是,当我拟合这样的模型lmer(Values ~ stimuli + timeperiod + scale(poly(distance.code,3,raw=FALSE))*habitat + wind.speed + (1|location.code), data=df, REML=FALSE)
,然后使用类似的东西查看结果时,summary我看到了所有模型固定(和随机)效应,正如我所期望的那样,但栖息地效应始终显示为habitatForest。像这样:
Fixed effects:
Estimate Std. Error df t value Pr(>|t|)
(Intercept) 996.63179 8.16633 31.22730 122.042 < 2e-16 ***
stimuliBHCO -3.57541 1.28877 8750.89273 -2.774 0.005544 **
stimuliCOHA -10.17037 1.29546 8754.17156 -7.851 4.62e-15 ***
timeperiod 0.19900 0.05516 8744.95307 3.608 0.000310 ***
scale(poly(distance.code, 3, raw = FALSE))1 -3.87613 0.71431 8745.70773 -5.426 5.90e-08 ***
scale(poly(distance.code, 3, raw = FALSE))2 2.65854 0.71463 8745.19353 3.720 0.000200 …Run Code Online (Sandbox Code Playgroud) 我有一个小数据,其中有 3 组(A、B、C),每组有 5 名参与者。所有这些参与者在 7 项不同的考试中每项都被测量 6 次,因此每个参与者总共得到 6*7=42 分。建立了简单的线性混合模型mylmm<-lmer(score ~1+group+exam+group*exam+(1|participant), data = mydata)。anova(mylmm)我可以使用多重比较函数获得分组、考试及其交互的方差分析结果和事后成对比较。
但数据量很小(只有5个参与者),残差mylmm也不正常,所以威力不足。我知道使用稳健的混合模型robustlmm和使用残差引导混合模型lmeresampler。但是,我无法使用这些方法进行方差分析和多重比较。有人可以帮我解决以下问题吗?真的很感激。
simranova 方法来计算测试组、考试和模型对象交互的功效lme。另外,simr还可以用于查找事后成对比较的功效还是emmeans应该使用?谢谢在nlme包lme模型中,有什么方法可以获取随机项的方差?
Random effects:
Formula: ~t | UID
Structure: General positive-definite, Log-Cholesky parametrization
StdDev Corr
(Intercept) 520.310397 (Intr)
t 3.468834 0.273
Residual 31.071987
Run Code Online (Sandbox Code Playgroud)
换句话说,我想达到3.468834。
我正在尝试建立标准的translog需求函数,它是:
lnY = lnP + lnZ + lnY*lnZ + lnY^2 + lnZ^2
Run Code Online (Sandbox Code Playgroud)
其中Y=需求,P=价格和Z=收入.
但是,当我在nlme或lme4中包含平方项时,它们只是忽略它们.我试过了:
model <- lme(asinh(gallons) ~ asinh(rprc) + asinh(rexp) + asinh(rexp)*asinh(rexp) + asinh(rprc)*asinh(rprc) + asinh(rprc)*asinh(rexp), random=~1|cuid, data = data)
Run Code Online (Sandbox Code Playgroud)
我试过了:
model <- lme(asinh(gallons) ~ asinh(rprc) + asinh(rexp) + asinh(rexp)^2 + asinh(rprc)^2 + asinh(rprc)*asinh(rexp), random=~1|cuid, data = data)
Run Code Online (Sandbox Code Playgroud)
我已经尝试过lmer的等价物.
平方项只是没有出现在摘要(模型)中,我知道它们被忽略了,因为我已经用平方项创建了单独的向量并将其传递出来并且估计值不同.
有人有什么建议吗?
该功能lmer在lme4包使用默认情况下bobyqa从minqa包作为优化算法.
根据以下帖子https://stat.ethz.ch/pipermail/r-sig-mixed-models/2013q1/020075.html,可以在minqa包中使用其他优化算法
如何使用uobyqa或newuoa作为优化算法lmer?
library(lme4)
fm1 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy, control=lmerControl(optimizer="bobyqa"))
Run Code Online (Sandbox Code Playgroud) 我有数据,其中"飞行速度"是响应变量和group(实验/控制),test(第一/第二),FL(燃料负载,来自瘦体重的%:从0到~25%),wing(翼长度,mm) ).由于我们已经对同一只鸟进行了两次测试(第一次和第二次测试,实验组被感染),我想要执行混合模型(添加随机项~1|ring).由于异方差性,我还weight为test变量添加了参数.
mod<-lme(speed~test* group * FL * wing,weight=~1|test,random=~1|ring,data=data,method="ML")
Run Code Online (Sandbox Code Playgroud)
这就是完整模型的样子(我使用nlme包).之后我开始向后选择.我手动完成(根据最低的AIC),然后用函数stepAIC(MASS包)检查结果.在这种情况下,前两个选择步骤很好,但是当我从模型开始时:
mod3<-lme(speed~test+group + FL + wing+ test:group + group:FL + FL:wing + test:group:wing, weight=~1|test,random=~1|ring,data=data,method="ML")
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
Error in MEEM(object, conLin, control$niterEM) :
Singularity in backsolve at level 0, block 1
Run Code Online (Sandbox Code Playgroud)
据我所知,这意味着并非所有因素的相互作用都存在.但是我应该已经完整模型得到了同样的错误.而对于其他响应变量,它运作良好.如果你们有任何想法,我会很高兴的!
原始数据
ring group wing speed_aver FL test
1 XZ13125 E 75 0.62 16.2950000 first
2 XZ13125 E 75 0.22 12.5470149 second
3 XZ13126 E …Run Code Online (Sandbox Code Playgroud) 我必须运行具有对数转换响应变量,作为固定效果的连续变量和嵌套随机效果的lmer:
first<-lmer(logterrisize~spm + (1|studyarea/teriid),
data = Data_table_for_analysis_Character_studyarea,
control=lmerControl(optimizer="Nelder_Mead",
optCtrl=list(maxfun=1e4)))
Run Code Online (Sandbox Code Playgroud)
我收到此错误消息:长度错误(值<-as.numeric(value))== 1L:降级的VtV不是正定的
我尝试使用bobyqa()作为优化参数进行尝试,并收到以下警告消息:
1: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
Model failed to converge with max|grad| = 0.753065 (tol = 0.002, component
1) 2: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv,:
Model is nearly unidentifiable: very large eigenvalue-Rescale variables?
Run Code Online (Sandbox Code Playgroud)
我的摘要如下所示:
Linear mixed model fit by REML ['lmerMod']
Formula: logterrisize ~ spm + (1 studyarea/teriid) Data: Data_table_for_analysis_Character_studyareaControl: lmerControl(optimizer = "bobyqa", optCtrl = list(maxfun = 10000)) REML criterion at convergence: -6079.6Scaled …Run Code Online (Sandbox Code Playgroud) 我正在运行几个线性混合模型,以研究将鸟巢作为随机变量的鸟类。问题是,在其中一些模型中,我得到了所谓的“奇异拟合”:我的嵌套随机变量的方差和st误差为0.00。
一些背景:我正在与野生鸟类合作,以观察在嘈杂环境中生活对某些氧化应激参数的影响。为此,我们为每个巢中的每个雏鸟取了一份血液样本,以做实验室的工作。由于血液样本有限,无法针对每个雏鸟都测量某些氧化应激参数。
model <- lmer(antioxidant_capacity~age+sex+clutch+zone+(1|nestID),
data=data, contrasts=list(sex=contr.sum, zon=contr.sum, clutch=contr.sum))
Run Code Online (Sandbox Code Playgroud)
然后我得到:
singular fit
Run Code Online (Sandbox Code Playgroud)
这是表:
REML criterion at convergence: 974.3
Scaled residuals:
Min 1Q Median 3Q Max
-2.72237 -0.61737 0.06171 0.69429 2.88008
Random effects:
Groups Name Variance Std.Dev.
nestID (Intercept) 0 0.00
Residual 363 19.05
Number of obs: 114, groups: nido_mod, 46
Fixed effects:
Estimate Std. Error df t value Pr(>|t|)
(Intercept) 294.5970 36.8036 109.0000 8.005 1.41e-12 ***
age -0.2959 3.0418 109.0000 -0.097 0.922685
clutch1 -0.5242 2.0940 109.0000 -0.250 0.802804
sex1 2.3167 …Run Code Online (Sandbox Code Playgroud) mixed-models ×10
r ×10
lme4 ×5
optimization ×2
statistics ×2
anova ×1
emmeans ×1
lsmeans ×1
ordinal ×1
regression ×1
resampling ×1
stargazer ×1
texreg ×1