r - 如何从多元回归模型中提取置信区间?

标签 r regression confidence-interval broom

我正在提取两个不同组的回归结果,如下面的示例所示。在 temp data.frame 我得到估计、std.error、统计和 p 值。但是,我没有得到置信区间。有没有一种简单的方法来提取它们?

 df <- tibble(
  a = rnorm(1000),
  b = rnorm(1000),
  c = rnorm(1000),
  d = rnorm(1000),
  group = rbinom(n=1000, size=1, prob=0.5)
)

df$group = as.factor(df$group)

temp <- df %>%
  group_by(group) %>%
  do(model1 = tidy(lm(a ~ b + c + d, data = .))) %>%   
  gather(model_name, model, -group) %>%                        
  unnest() 

最佳答案

您正在整理 lm 对象。如果您查看 help page ,有一个选项可以包含置信区间,conf.int=TRUE :

temp <- df %>%
  group_by(group) %>%
  do(model1 = tidy(lm(a ~ b + c + d, data = . ), conf.int=TRUE)) %>%   
  gather(model_name, model, -group) %>%                        
  unnest()

# A tibble: 8 x 9
  group model_name term  estimate std.error statistic p.value conf.low conf.high
  <fct> <chr>      <chr>    <dbl>     <dbl>     <dbl>   <dbl>    <dbl>     <dbl>
1 0     model1     (Int…  0.0616     0.0423    1.46    0.146   -0.0215    0.145 
2 0     model1     b      0.00178    0.0421    0.0424  0.966   -0.0808    0.0844
3 0     model1     c     -0.00339    0.0431   -0.0787  0.937   -0.0881    0.0813
4 0     model1     d     -0.0537     0.0445   -1.21    0.228   -0.141     0.0337
5 1     model1     (Int… -0.0185     0.0454   -0.408   0.683   -0.108     0.0707
6 1     model1     b      0.00128    0.0435    0.0295  0.976   -0.0842    0.0868
7 1     model1     c     -0.0972     0.0430   -2.26    0.0244  -0.182    -0.0126
8 1     model1     d      0.0734     0.0457    1.60    0.109   -0.0165    0.163 

关于r - 如何从多元回归模型中提取置信区间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65042240/

相关文章:

r - 通过按 R 中的值过滤列来应用 glm()

r - Stargazer 置信区间不正确?

R data.table - 按列分组包括列表

r - data.table 中使用和不使用分组变量的聚合计算

r - 使用 R Markdown/Notebook 缓存 SQL block ,无需在 RStudio 中进行编织

r - 如何用 R 找到回归线上的最低值和最高值?

error-handling - GLM 中的奇怪错误

r - ggplot 置信区间未填充我的线性混合模型的整个数据集

excel - 置信区间

r - 将参数传递给 data.table 聚合函数