在格子中绘制选定的随机效应观测值
Plot Selected Random Effects Observations in Lattice
我试图仅绘制随机效应模型中的某些观察结果(因为实际数据集有很多观察结果)。
下面是分析的例子:
# Load packages
library(lme4)
library(lattice)
# Load sleep data
data(sleepstudy)
# Model
fit <- lmer(Reaction ~ Days + (1 + Days|Subject), data = sleepstudy)
# Plot random effects
dotplot(ranef(fit, condVar = T))
剧情是这样的:
如果我只想绘制科目 337、310、333 和 349 的结果怎么办?
我试过保存 ranef()
结果,选择感兴趣的主题,然后从那里构建一个图,但是由于我丢失了误差线,所以这不起作用。
我们需要操作 ranef.mer
对象。
library(lme4)
library(lattice)
data(sleepstudy)
fit <- lmer(Reaction ~ Days + (1 + Days|Subject), data=sleepstudy)
首先,我们存储它。
r.int <- ranef(fit, condVar=TRUE)
其次,我们创建所需子集行号的向量。
s <- c(337, 310, 333, 349)
第三,在 lapply
函数中,我们在列表中对 data.frame
和重要的属性进行子集化,其中方差隐藏在数组中。
r.int <- lapply(r.int, function(x) {
s2 <- which(rownames(x) %in% s)
x <- x[s2, ]
attributes(x)$postVar <- attributes(x)$postVar[, , s2]
return(x)
})
第四,我们破解所需的 class 标签。
class(r.int) <- "ranef.mer"
Et voilà,我们终于可以绘制我们想要的选择了。
dotplot(r.int)
产量
我试图仅绘制随机效应模型中的某些观察结果(因为实际数据集有很多观察结果)。
下面是分析的例子:
# Load packages
library(lme4)
library(lattice)
# Load sleep data
data(sleepstudy)
# Model
fit <- lmer(Reaction ~ Days + (1 + Days|Subject), data = sleepstudy)
# Plot random effects
dotplot(ranef(fit, condVar = T))
剧情是这样的:
如果我只想绘制科目 337、310、333 和 349 的结果怎么办?
我试过保存 ranef()
结果,选择感兴趣的主题,然后从那里构建一个图,但是由于我丢失了误差线,所以这不起作用。
我们需要操作 ranef.mer
对象。
library(lme4)
library(lattice)
data(sleepstudy)
fit <- lmer(Reaction ~ Days + (1 + Days|Subject), data=sleepstudy)
首先,我们存储它。
r.int <- ranef(fit, condVar=TRUE)
其次,我们创建所需子集行号的向量。
s <- c(337, 310, 333, 349)
第三,在 lapply
函数中,我们在列表中对 data.frame
和重要的属性进行子集化,其中方差隐藏在数组中。
r.int <- lapply(r.int, function(x) {
s2 <- which(rownames(x) %in% s)
x <- x[s2, ]
attributes(x)$postVar <- attributes(x)$postVar[, , s2]
return(x)
})
第四,我们破解所需的 class 标签。
class(r.int) <- "ranef.mer"
Et voilà,我们终于可以绘制我们想要的选择了。
dotplot(r.int)
产量