有人知道,如何从这段代码中获取单个厨师距离图:
treatment <- factor(rep(c(1, 2), c(43, 41)), levels = c(1, 2), labels = c("placebo","treated"))
improved <- factor(rep(c(1, 2, 3, 1, 2, 3), c(29, 7, 7, 13, 7, 21)), levels = c(1, 2,3),labels = c("none", "some", "marked"))
numberofdrugs <- rpois(84, 5)+1
healthvalue <- rpois(84,5)
y <- data.frame(healthvalue, numberofdrugs, treatment, improved)
test <- glm(healthvalue~numberofdrugs+treatment+improved, y, family=poisson)
par(mfrow=c(2,2))
plot(test) # how to grab plot 2.1 ?
我不喜欢的是这个
par(mfrow=c(1, 1))
plot(test, which=c(4))
因为它在y轴上没有残差并且在x轴上有杠杆作用!
谢谢你们
答案 0 :(得分:1)
我不太清楚你的问题是什么。您似乎希望绘图在y轴上具有残差并且在x轴上利用。这不仅仅是生成的第5个(6个)情节:
plot(test,which=5)
您可以在?plot.lm
了解更多相关信息编辑以解决OP关于设置y轴标签的问题:
通常,只需将ylab =“My Label”添加到plot()调用即可,但这些图形设计为“自动”生成,因此某些图形参数是“硬编码”的。如果您传递自己的ylab值,则会出现错误,因为plot.lm()将显示两个ylab,并且不知道要使用哪个。如果真的不喜欢y轴标签,那么你唯一的选择就是获取plot.lm代码(只需在控制台输入'plot.lm'然后按回车键)复制并粘贴它进入文本文件并查找此部分:
if (show[5L]) {
ylab5 <- if (isGlm)
"Std. Pearson resid."
else "Standardized residuals"
r.w <- residuals(x, "pearson")
if (!is.null(w))
r.w <- r.w[wind]
rsp <- dropInf(r.w/(s * sqrt(1 - hii)), hii)
ylim <- range(rsp, na.rm = TRUE)
if (id.n > 0) {
ylim <- extendrange(r = ylim, f = 0.08)
show.rsp <- order(-cook)[iid]
}
并使用您自己的y轴标签对其进行修改。重命名函数(比如plotLMCustomY或其他东西),它应该可以工作。