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方使用自助法Bootstrapping估计多元回归模型的R方的置信区间可视化获得的boot对象估计单个统计量的置信区间分别使用分位数法和BCa法