R中线性回归模型后的置信区间

Confidence Interval after linear regression model in R

我试图在拟合线性回归模型后获得置信区间。
我的数据包含:

Growthrate  Strains
<dbl>       <fct>

其中 growthrate 代表 growthrate 值,Strains 代表菌株名称

我的代码:

all.lm <- lm(Growthrate~Strains,all) 

confint(all.lm, 'Strains',level=0.95)

输出:

          2.5 % 97.5 %  
Strains    NA     NA

我不明白为什么打印NA。 非常感谢此时的任何帮助。

问题是 Strains 是一个分类变量,所以没有名为 Strains 的系数。这是一个使用 iris 数据集的示例,该数据集包含在 R:

data(iris)
iris.lm <- lm(Petal.Width~Species, iris)
confint(iris.lm, level=.95)   # All coefficients
#                       2.5 %    97.5 %
# (Intercept)       0.1888041 0.3031959
# Speciesversicolor 0.9991128 1.1608872
# Speciesvirginica  1.6991128 1.8608872

confint(iris.lm, "Species", level=.95)  # Species is not a coefficient
#         2.5 % 97.5 %
# Species    NA     NA

您需要按名称或编号指定系数:

confint(iris.lm, 2:3, level=.95)
#                       2.5 %   97.5 %
# Speciesversicolor 0.9991128 1.160887
# Speciesvirginica  1.6991128 1.860887

cfnames <- names(coef(iris.lm))[2:3]
cfnames
# [1] "Speciesversicolor" "Speciesvirginica" 
confint(iris.lm, cfnames, level=.95)
#                       2.5 %   97.5 %
# Speciesversicolor 0.9991128 1.160887
# Speciesvirginica  1.6991128 1.860887

实际上,此示例中的 (Intercept) 是第一个因子水平 Speciessetosa 的系数,因此也包括该系数是有意义的。