如何解决用R绘制距离图
| 谁知道,如何获取从此代码获得的单个厨师距离图:treatment <- factor(rep(c(1,2),c(43,41)),levels = c(1,labels = c(\"placebo\",\"treated\"))
improved <- factor(rep(c(1,2,3,1,3),c(29,7,13,21)),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轴上没有杠杆作用!
谢谢你们
解决方法
我不太确定您的问题是什么。您似乎想要在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 \'并按Enter键),然后将其复制并粘贴到文本文件中并查找此部分:
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或其他名称),它应该可以工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。