【发布时间】:2020-02-04 11:05:32
【问题描述】:
我需要计算简单线性回归 yi = β0 + β1xi 的 β^0 和 β^1,β0 和 β1 的置信区间为 87%,并且必须以以下格式显示我的结果的三位有效数字:
Est L U
beta0 1.13 0.889 1.37
beta1 3.57 1.950 5.19
我应该使用什么代码来获得这种格式?
我已经完成了以下操作,但无法弄清楚如何将 Intercept 和 x 显示为 beta0 和 beta1 以及它们的 Estimate 和 Lower CI 和 Upper CI:
> M <- lm(y ~ x) # fit linear model
> signif(coef(M), digits = 2) # MLE's of beta
(Intercept) x
-5.40 0.13
>
> signif(confint(M, level = 0.87), digits = 3)
6.5 % 93.5 %
(Intercept) -5.710 -5.160
x 0.127 0.136
我在 RStudio 中这样做
编辑: 我已经使用 data.frame 来获得它:
> # data.frame for MLE's of beta with 87% confidence interval for beta0 and beta1
> data.frame(df, stringsAsFactors = )
Est L U
beta0 -5.40 -5.710 -5.160
beta1 0.13 0.127 0.136
> Est <- c(-5.40, 0.13)
> L <- c(-5.710, 0.127)
> U <- c(-5.160, 0.136)
> df <- data.frame(Est,L,U)
> row.names(df) <- c('beta0', 'beta1')
但是有没有更好的方法使用内置的 R 函数 lm、coef、confint 以这种形式获取它?
【问题讨论】:
-
如果你想编辑它,你可以把结果放在一个data.frame中并改变
colnames和rownames -
我如何使用回归输出来实现,它给我 β^0 和 β^1 作为 Intercept 和 x?
-
只需将输出写入变量并更改名称
-
如果我这样写: beta0
-
你受限于基础 R 吗?
broom让这一切变得简单。