我使用lme4包中的glmer()函数来估计具有多个随机效果的复杂混合效果模型。我的查询涉及如何编辑点图中的变量标签
下面是我的问题的一个简单的可重现的例子。
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会给我这个选项。
谢谢你的帮助。
发布于 2015-07-15 00:35:48
在没有本机重命名功能的情况下,一种简单的方法是添加一个中间变量,将ranef(M1,condVar=TRUE)赋值给它,我称之为model。然后,您可以使用colnames()重命名标签。
解决方案:
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中使用它。

https://stackoverflow.com/questions/31411427
复制相似问题