[英]Plotting individual confidence intervals for the coefficients in the lmList fit
[英]Plotting coefficients and corresponding confidence intervals
我想在条形图中绘制回归模型的系数,该条形图中还包含每个系数的置信区间。
例如
attach(mtcars)
M=lm(mpg ~ . , data = mtcars)
barplot(coefficients(M))
confint(M, level = 0.9)
->如何在一个条形图中绘制这两个信息?
也许也可以根据其值对系数进行排序?
我环顾四周,发现coefplot
,但实际上我想在没有库的情况下进行操作,因为它对于初学者来说应该很容易使用,并且应该解释如何使用绘图。 如果有人知道一个好的包装,也可以。 但是我想将其构建为“我自己”,那么如何找出背后发生的事情呢? 是否可以获取/检查包中一种特定方法的代码?
另外,我尝试可视化每个变量/组合的含义(如果是DiD模型)。 因此,我想创建一个条形图,以按排序顺序列出(最)重要的系数。 summary(M)
命令列出系数和相应的重要性代码。 每个具有高有效码(***)的系数都应首先被监听,然后是**,然后是*。 点和“”不应包含在内。
有任何想法吗?
谢谢!
如果您不想使用任何程序包( plotrix::plotCI
或gplot::barplot2
),则在R中绘制置信度条的基本技巧是使用arrows(...,angle=90)
(或使用gplot::barplot2
segments()
如果您不希望错误栏上出现“ serifs”)
M <- lm(mpg ~ . , data = mtcars)
c0 <- coef(M)
cc <- confint(M, level = 0.9)
画图:
b <- drop(barplot(c0,ylim=range(c(cc)))) ## b stores vector of x positions
arrows(b,c0,b,cc[,1],angle=90,length=0.05) ## lower bars
arrows(b,c0,b,cc[,2],angle=90,length=0.05) ## upper bars
我实际上会争辩说,对于基本图,您应该使用points()
而不是barplot
,因为barplots对于可能为正或为负的值没有太大意义。 将绘图旋转90度也可能是有意义的,以使其更容易绘制长参数名称。
在完成所有这些操作时,您或多或少已经概括了arm::coefplot
。 (另一种选择是查看coefplot
的代码,以查看其实际作用……)
在R 3.1.2中,该软件包现在似乎被命名为gplots
。 使用gplots
包gplots::barplot2
。
data(mtcars)
M=lm(mpg ~ . , data = mtcars)
co <- cbind(coefficients(M), summary(M)$coef[,4])
cint <- confint(M, level = 0.9)
# order by sig
cint <- cint[order(co[,2]),]
co <- co[order(co[,2]), ]
# you can do this in the gplots package
# install.packages("gplots")
library(gplots)
barplot2(co[,1], plot.ci= TRUE, ci.l= cint[,1], ci.u= cint[,2],
horiz= TRUE)
可以通过text
和/或title
添加其他详细信息/标签。 您可以通过order(..., decreasing=TRUE)
选项以相反的方式对图进行order(..., decreasing=TRUE)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.