- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一组线性混合模型,并创建了一个平均模型。我想绘制适合两个水平因素的模型,包括在平均模型中。一个简单的例子:
library(lme4)
library(MuMIn)
mtcars2 <- mtcars
mtcars2$vs <- factor(mtcars2$vs)
gl <- lmer(mpg ~ am + disp + hp + qsec + (1 | cyl), mtcars2,
REML = FALSE, na.action = 'na.fail')
d <- dredge(gl)
av <- model.avg(d, subset = cumsum(weight) <= 0.95)
summary(av)
Call:
model.avg(object = d, subset = cumsum(weight) <= 0.95)
Component model call:
lme4::lmer(formula = mpg ~ <7 unique rhs>, data = mtcars2, REML = FALSE, na.action = na.fail)
Component models:
df logLik AICc delta weight
13 5 -77.81 167.92 0.00 0.37
123 6 -76.34 168.05 0.13 0.35
134 6 -77.54 170.43 2.51 0.11
1234 7 -76.25 171.16 3.24 0.07
23 5 -79.85 172.00 4.08 0.05
2 4 -81.63 172.75 4.83 0.03
124 6 -78.99 173.34 5.42 0.02
Term codes:
am disp hp qsec
1 2 3 4
Model-averaged coefficients:
(full average)
Estimate Std. Error Adjusted SE z value Pr(>|z|)
(Intercept) 25.457505 6.467643 6.648016 3.829 0.000129 ***
am 4.103425 1.861593 1.898182 2.162 0.030636 *
hp -0.043829 0.017926 0.018265 2.400 0.016415 *
disp -0.009419 0.011834 0.011983 0.786 0.431821
qsec 0.081973 0.284147 0.292015 0.281 0.778929
(conditional average)
Estimate Std. Error Adjusted SE z value Pr(>|z|)
(Intercept) 25.45751 6.46764 6.64802 3.829 0.000129 ***
am 4.46519 1.46823 1.51835 2.941 0.003273 **
hp -0.04651 0.01471 0.01515 3.070 0.002140 **
disp -0.01793 0.01068 0.01099 1.632 0.102634
qsec 0.40421 0.51757 0.53873 0.750 0.453075
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Relative variable importance:
hp am disp qsec
Importance: 0.94 0.92 0.53 0.20
N containing models: 5 5 5 3
我想绘制由完整平均模型估计的 am
的效果。
通常我会使用 lsmeans::lsmeans(gl, ~am)
或 lmerTest::lsmeansLT(gl, 'am')
并绘制最小二乘均值两组及其置信区间。
我怎样才能对普通模型做同样的事情?
最佳答案
(这是经过一些讨论和进一步发现后的修订答案。请注意,我是 emmeans
包的作者。)
这里有一些似乎有用的东西。
首先,定义emmeans包需要的方法:
library(emmeans)
terms.averaging = function(x, ...)
terms(x$formula)
recover_data.averaging = emmeans:::recover_data.lm
### NOTE: still have to provide 'data' argument
emm_basis.averaging = function(object, trms, xlev, grid, ...) {
bhat = coef(object, full = TRUE)
m = model.frame(trms, grid, na.action = na.pass, xlev = xlev)
X = model.matrix(trms, m, contrasts.arg = object$contrasts)
V = vcov(object, full = TRUE)
dffun = function(k, dfargs) NA
dfargs = list()
list(X=X, bhat=bhat, nbasis=estimability::all.estble, V=V,
dffun=dffun, dfargs=dfargs, misc=list())
}
terms
方法是必需的,因为没有。其他两个改编自 lm
对象的现有方法。现在有一个问题:vcov()
调用要求对象具有非NULL
"modelList"
属性。而您的 av
对象失败了。但是 model.avg
帮助页面底部的示例显示了该怎么做:
cs95 = get.models(d, cumsum(weight) <= .95)
AV = model.avg(cs95)
现在,AV
具有所需的属性。现在我们得到:
em = emmeans(AV, ~ am, at = list(am = c("0", "1")), data = mtcars)
em
## am emmean SE df asymp.LCL asymp.UCL
## 0 15.42665 2.985460 NA 9.575257 21.27805
## 1 19.53008 1.986149 NA 15.637297 23.42286
pairs(em)
## contrast estimate SE df z.ratio p.value
## 0 - 1 -4.103425 1.861593 NA -2.204 0.0275
请注意,对比结果与模型汇总表中 av
的估计和未调整 SE 相匹配。
注意:使用coef(..., full = FALSE)
和vcov(... full = FALSE)
产生了非-正定协方差矩阵,导致 EMM 的负方差估计。
我警告说,虽然这似乎在计算上可行,但这并不意味着答案是正确的!
关于r - 从平均模型拟合离散变量的绘图模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47472205/
如何在 Flutter 中使 slider 离散看起来像上图? slider discrete 最佳答案 使用 divisions Slider 的属性(property)小部件将其分成相等的部分,然
我正在创建一个带有颜色条的散点图 plt.scatter(X, Y, c=Z) plt.colorbar() plt.show() plt.close() 其中 X 和 Y 是 float 组,Z 是
我刚刚在 android studio 中发现了 seekbar 离散小部件,我发现它非常有用,但我不知道如何删除步骤指示器,或者用更合适的可绘制对象更改它们。 有人设法做到了吗? 这是我当前搜索栏的
问题 请注意以下问题:巫师可以创建和销毁 rune 。创建一个新的 rune 需要消耗与先前创建的 rune 数量成比例的法力。摧毁 rune 会恢复创建 rune 所用的法力。下面,我提出一个可能的
我正在尝试使用 ggplot2 中的 sf 和 geom_sf 制作 map ,其中一组点数据使用连续颜色比例(-1 到 1),一组线数据使用离散比例(a、b、c、d)着色。但是,当我在同一张 map
我正在尝试在具有连续状态(dim.= 20)和离散操作(3 个可能的操作)的环境中找到最佳策略。并且有一个特定的时刻:对于最佳策略,一个操作(称为“操作 0”)的选择频率应比其他两个操作高得多(频率约
仅使用 x-y 位置移动绘制圆弧的最佳方法是什么?例如,假设我想在点 (4,4) 处绘制一个半径为 4 的圆。让我们看看我的“抽屉”从 (4,0) 开始,每个方向的分辨率为 0.1 步。我将如何创建一
我正在使用一个使用广义加法模型的随机站点级效应来拟合一个模型,该模型在 mgcv 中实现。 R 包。我一直在使用函数 gam() 执行此操作但是,为了加快速度,我需要转到 bam()框架,与gam()
这个问题在这里已经有了答案: Make a line separated by group in bar chart (3 个答案) 关闭上个月。 我正在尝试使用 ggplot2 在条形图的每个条上
这个问题在这里已经有了答案: Make a line separated by group in bar chart (3 个答案) 关闭上个月。 我正在尝试使用 ggplot2 在条形图的每个条上
是否可以同时使用 Intel HD 4000 集成显卡和独立 GPU,OpenCL(或 CUDA)作为设备,CPU 作为主机?我想要一些代码在集成显卡上运行,而其他代码同时在我的 GPU 上运行。 最
我是一名优秀的程序员,十分优秀!