与R中的置信区间情节系数

问题描述 投票:1回答:1

我有如下样本回归。 YIT =λI+ΔT+α1TR+Σ吨∈{2 ,,, T】βtTR*ΔT

也就是说,我有随时间变化的系数,βT。与回归结果,我想绘制与置信区间(X轴为时间,Y轴是系数的值)的系数。

下面是示例数据

y = rnorm(1000,1)
weekid = as.factor(sample.int(52,size = 1000,replace = T))
id = as.factor(sample.int(100,size = 1000,replace = T))
tr = as.factor(sample(c(0,1),size = 1000, prob = c(1,2),replace = T))
sample_lm = lm(y ~ weekid + id + tr*weekid)
summary(sample_lm)

我如何可以绘制系数与置信区间tr*weekid

r ggplot2 lm
1个回答
3
投票

我们可能会使用ggcoefGGally。一个问题是,你希望显示只有系数的一个子集。在这种情况下,我们可以做

ggcoef(tail(broom::tidy(sample_lm, conf.int = TRUE), 51), sort = "ascending")

enter image description here

更新:因为,至少在一定程度上,我们可以处理此图形作为与ggplot2输出,我们可能会翻转轴与coord_flip。这是不是最好的办法,因为变量名很长,所以只是为了演示我angle = 30结合它。默认情况下,系数按名称排序,这又不是一可能是什么之后。至于解决这个问题,我们首先需要定义系数的名称作为因子变量,并指定自己的水平。也就是说,我们有

tbl <- tail(broom::tidy(sample_lm, conf.int = TRUE), 51)
tbl$term <- factor(tbl$term, levels = tbl$term)
ggcoef(tbl) + coord_flip() + theme(axis.text.x = element_text(angle = 30))

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.