首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用R/Lattice编辑(g)lmer对象点图的变量标签

使用R/Lattice编辑(g)lmer对象点图的变量标签
EN

Stack Overflow用户
提问于 2015-07-14 23:49:07
回答 1查看 654关注 0票数 1

我使用lme4包中的glmer()函数来估计具有多个随机效果的复杂混合效果模型。我的查询涉及如何编辑点图中的变量标签

下面是我的问题的一个简单的可重现的例子。

代码语言:javascript
复制
library(lattice)
library(lme4)
data(sleepstudy)
sleepstudy$x <- rnorm(180)
M1 <- lmer(Reaction ~ Days + x + (Days + x | Subject), sleepstudy)

dotplot(ranef(M1, condVar=TRUE), ylab="Levels", main=FALSE,
    scales = list(x =list(relation = 'free')))[["Subject"]]

这将生成下面的点图,它近似于我想要的内容。

我想要做的是编辑变量标签。这有可能吗?我确信它是,而且它很可能是一个“带”选项,尽管我不确定它到底是什么。

我也会对ggplot2解决方案持开放态度。只要它能达到我想要的效果,两者都没问题。事实上,如果ggplot2解决方案允许我将条件方差的界限调整为类似于1.645*se的值,那么它可能会更好。我不认为lattice会给我这个选项。

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2015-07-15 00:35:48

在没有本机重命名功能的情况下,一种简单的方法是添加一个中间变量,将ranef(M1,condVar=TRUE)赋值给它,我称之为model。然后,您可以使用colnames()重命名标签。

解决方案:

代码语言:javascript
复制
library(lattice)
library(lme4)
data(sleepstudy)
sleepstudy$x <- rnorm(180)
M1 <- lmer(Reaction ~ Days + x + (Days + x | Subject), sleepstudy)

model <- ranef(M1,condVar=TRUE)
colnames(model[[1]]) <- c("Intercept","Days","x") # Add your labelshere

dotplot(model, ylab="Levels", main=FALSE,
        scales = list(x =list(relation = 'free')))[["Subject"]]

或者,您可以将其强制为data.frame()data.table(),并在ggplot2中使用它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31411427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档