R中线性回归模型后的置信区间[关闭]

Posted

技术标签:

【中文标题】R中线性回归模型后的置信区间[关闭]【英文标题】:Confidence Interval after linear regression model in R [closed] 【发布时间】:2022-01-12 23:32:36 【问题描述】:

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

Growthrate  Strains
<dbl>       <fct>

其中growthrate表示增长率值,Strains表示菌株名称

我的代码:

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

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

输出:

          2.5 % 97.5 %  
Strains    NA     NA

我不明白为什么它的打印不适用。 在这一点上的任何帮助都非常感谢。

【问题讨论】:

【参考方案1】:

问题在于Strains 是一个分类变量,因此没有称为Strains 的系数。以下是使用 R 中包含的 iris 数据集的示例:

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 的系数,即第一个因子水平,因此包含此系数也是有意义的。

【讨论】:

谢谢你说得通。我问的是更基本的问题,所以这里的置信区间适用于所有级别,例如 Speciesversicolor、Speciesvirginica 等。所以当你报告这个值时,你是把它作为单个解释变量报告还是有办法获得整体置信区间? 没有一个总体置信区间。如果我们将分析更改为预测lm(Petal.Width~Petal.Length, iris),y 截距和自变量 (Petal.Length) 的系数仍然会有单独的置信区间。使用predict(iris.lm, interval="confidence"),您可以获得每次观察的置信区间。

以上是关于R中线性回归模型后的置信区间[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

R线性回归模型构建:残差值回归值预测域置信区间

R中具有置信区间图的线性回归预测

r语言怎么计算回归模型的置信区间

matlab-线性回归

线性回归t值计算公式

R语言编写自定义函数计算R方使用自助法Bootstrapping估计多元回归模型的R方的置信区间可视化获得的boot对象估计单个统计量的置信区间分别使用分位数法和BCa法