- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 R
装了一个模型与 lmer()
-功能来自 lme4
包裹。我缩放了因变量:
mod <- lmer(scale(Y)
~ X
+ (X | Z),
data = df,
REML = FALSE)
fixef(mod)
查看固定效应系数:
> fixef(mod)
(Intercept) X1 X2 X3 X4
0.08577525 -0.16450047 -0.15040043 -0.25380073 0.02350007
Y
中减去平均值并除以标准差。但是,平均值和标准偏差都是根据原始数据计算的。我可以在安装
lmer()
后简单地逆转这个过程吗? -使用原始数据的均值和标准差建模?
lmer()
中很奇怪,我认为随机截距应该解决这个问题......更不用说我们正在谈论按序数计算均值的事实......)但是问题保持不变:一旦我拟合了这样的模型,是否有一种干净的方法来重新调整拟合模型的系数?
最佳答案
更新 :泛化以允许缩放响应以及预测变量。
这是一个相当粗糙的实现。
如果我们的原始(未缩放)回归是
Y = b0 + b1*x1 + b2*x2 ...
(Y0-mu0)/s0 = b0' + (b1'*(1/s1*(x1-mu1))) + b2'*(1/s2*(x2-mu2))+ ...
Y0 = mu0 + s0((b0'-b1'/s1*mu1-b2'/s2*mu2 + ...) + b1'/s1*x1 + b2'/s2*x2 + ...)
bi = s0*bi'/si
为
i>0
和
b0 = s0*b0'+mu0-sum(bi*mui)
rescale.coefs <- function(beta,mu,sigma) {
beta2 <- beta ## inherit names etc.
beta2[-1] <- sigma[1]*beta[-1]/sigma[-1]
beta2[1] <- sigma[1]*beta[1]+mu[1]-sum(beta2[-1]*mu[-1])
beta2
}
m1 <- lm(Illiteracy~.,as.data.frame(state.x77))
b1 <- coef(m1)
ss <- scale(state.x77)
m1S <- update(m1,data=as.data.frame(ss))
b1S <- coef(m1S)
icol <- which(colnames(state.x77)=="Illiteracy")
p.order <- c(icol,(1:ncol(state.x77))[-icol])
m <- colMeans(state.x77)[p.order]
s <- apply(state.x77,2,sd)[p.order]
all.equal(b1,rescale.coefs(b1S,m,s)) ## TRUE
c(mean(response),rep(0,...))
用于 m
和 c(sd(response),rep(1,...))
用于 s
(即 m
和 s
是变量移动的值)和缩放)。c(0,mean(predictors))
为 m
和 c(1,sd(predictors))
为 s
. 关于r - 如何从带有缩放响应的 lmer() 模型中取消缩放系数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23642111/
我有一个包含 142 个数据条目的数据集:两次测量 121 个人(两年,治疗前和治疗后,年份 = 0 或 1),第二年有 46 个人在处理区,其余在控制区绘图(处理 = 0 或 1)。以下是一些示例数
我正在尝试编写一个函数来收集我在脚本中经常使用的一些调用 我在我的例子中使用了 lme4 包的 sleepstudy 数据 这是我开始使用的功能(的简化版本): trimModel1 <- funct
我经常遇到这个问题:我想用约束拟合多级回归。我不知道该怎么做。我通常最终会使用 lavaan,因为它允许对回归系数设置约束。但它仍然不能有随机斜率模型(只有随机截距,事实是我也不知道如何在 lavaa
我有一个具有以下结构的数据框: > t str(t) 'data.frame': 699 obs. of 7 variables: $ Awns : int 0
我正在尝试使用 lmer 函数运行混合效果模型。我的实验包括使用一些相同的个体在不同温度下的代谢率(一些缺失数据)。文本文件的结构如下所示: > str(data.by.animal) 'data.f
lme4 包中的函数lmer 默认使用minqa 包中的bobyqa 作为优化算法。 根据以下帖子https://stat.ethz.ch/pipermail/r-sig-mixed-models/2
我正在使用 lme4 运行混合模型在 R: full_mod3=lmer(logcptplus1 ~ logdepth*logcobb + (1|fyear) + (1 |flocation), da
我有一些纵向数据,我想从中获得指定时间的预测均值。该模型包括 2 个项,它们的交互作用和时间变量的样条项。当我尝试获取预测均值时,我得到“mm %*% fixef(m4) 中的错误:不一致的参数” 我
我目前正在尝试帮助一位同事,但我根本找不到解决方案。所以我希望其他人可以帮助我们。 我有一个数据集,其中包含使用不同研究设计评估的权重数据,针对不同研究中的不同物种(一项研究包括多种设计和多种物种)。
我正在为具有 4 个级别的预测器 root.type 上的单个响应变量运行线性混合模型;当我运行模型时,我只想要有关整个因素的信息,但它一直将其拆分为多个级别。有什么想法吗? Ca.auto |t|)
当您有一个包含大量因素和相互作用的多级模型时,固定效应矩阵的相关性大小可能会变得非常大且不清楚。 我可以使用 symbolic.cor=T打印方法中的参数以更清晰地打印摘要,如下所示: ratbrai
我想使用回归模型而不是“方差分析”(AOV)函数在 R 中运行重复测量方差分析。 这是我的 3 个主题内因素的 AOV 代码示例: m.aov<-aov(measure~(task*region*ac
我对混合模型使用了以下语法,然后 step 但它不起作用。 它通常是这样工作的还是我实际上不能使用 lmer 使用反向消除?谢谢! fullmodel<-lmer(Eeff~NDF+ADF+CP+NE
我有四个位置和四个基板的移植实验(取自每个位置)。我已经确定了每个位置和基质组合中每个种群的存活率。本实验重复 3 次。 我创建了一个 lmm 如下: Survival.model <- lmer(S
我需要提取 standard error来自 lmer 输出的方差分量. library(lme4) model <- lmer(Reaction ~ Days + (1|Subject), slee
我在 R 装了一个模型与 lmer() -功能来自 lme4包裹。我缩放了因变量: mod fixef(mod) (Intercept) X1 X2
我已经拟合了一个 lmer 模型,现在我正在尝试根据实际系数而不是缩放系数来解释系数。 我的顶级模特是: lmer(logcptplus1~scale.t6+scale.logdepth+(1|lo
我刚刚将 lme4 更新到 1.0-4 版,当我运行 lmer() 时,我之前收敛的混合效果模型现在会打印此警告: Warning message: In (function (fn, par, lo
我曾经使用下面的代码来计算 lmer 模型的标准化系数。但是,随着 lme 的新版本,返回对象的结构发生了变化。 如何调整函数 stdCoef.lmer 以使其与新的 lme4 版本一起使用? # I
我正在尝试在 drake 计划中安装一些 lme4::lmer 模型,但出现错误 'data' not found, and some variables missing from formula e
我是一名优秀的程序员,十分优秀!