不同的最佳拟合,并从 R 中的回归中获得 p 值
Different best fit, and obtain p-value from regression in R
我有这张图,来自包 car
,图 1:
密码是:
scatterplot(istat_22 ~ vpa_cnr_2,grid=F, smooth=F)
但是如果我想要回归线的 p 值,以及 r 和 r^2,我如何获得它并将它们绘制在图表上?
实质上我会用直线方程和统计值。
另一个问题是,为什么我用 lm
绘图,比如:
plot(vpa_cnr_2,istat_22)
abline(lm(vpa_cnr_2 ~ istat_22),col="red")
直线与图1不一样(见图2)?
图2
是的,我知道,它取决于拦截,但 R 没有找到最适合函数 lm
?
如果你想在图表中显示它们,我会使用模型的 Adjusted R-squared 和总体 p 值,它们可以直接获得或从模型的摘要中计算。
summary <- summary(lm(istat_22 ~ via_cnr_2))
adjRsq <- summary$adj.r.squared
您无法直接从摘要中获得整体 p 值,但您可以从 F 统计量中计算,计算方法如下:
fStat <- summary$statistic
pValue <- pf(fStat[1], fStat[2], fStat[3], lower.tail = F)
你可以参考这个link:Adding Regression Line Equation and R2 on graph了解如何在ggplot中标记它们。至于为什么回归线看起来不正确,那是因为你的变量在 lm 公式中被还原了。
abline(lm(istat_22 ~ vpa_cnr_2),col="red")
具体来说,如果您想从线性回归中提取值,可以使用 summary
。
#use str(summary(x)) to explore the other useful pieces of information
x <- lm(istat_22 ~ vpa_cnr_2)
summary(x)$r.squared
summary(x)$adj.r.squared
summary(x)$coefficients[2,4] # p-value
我有这张图,来自包 car
,图 1:
密码是:
scatterplot(istat_22 ~ vpa_cnr_2,grid=F, smooth=F)
但是如果我想要回归线的 p 值,以及 r 和 r^2,我如何获得它并将它们绘制在图表上?
实质上我会用直线方程和统计值。
另一个问题是,为什么我用 lm
绘图,比如:
plot(vpa_cnr_2,istat_22)
abline(lm(vpa_cnr_2 ~ istat_22),col="red")
直线与图1不一样(见图2)?
图2
是的,我知道,它取决于拦截,但 R 没有找到最适合函数 lm
?
如果你想在图表中显示它们,我会使用模型的 Adjusted R-squared 和总体 p 值,它们可以直接获得或从模型的摘要中计算。
summary <- summary(lm(istat_22 ~ via_cnr_2))
adjRsq <- summary$adj.r.squared
您无法直接从摘要中获得整体 p 值,但您可以从 F 统计量中计算,计算方法如下:
fStat <- summary$statistic
pValue <- pf(fStat[1], fStat[2], fStat[3], lower.tail = F)
你可以参考这个link:Adding Regression Line Equation and R2 on graph了解如何在ggplot中标记它们。至于为什么回归线看起来不正确,那是因为你的变量在 lm 公式中被还原了。
abline(lm(istat_22 ~ vpa_cnr_2),col="red")
具体来说,如果您想从线性回归中提取值,可以使用 summary
。
#use str(summary(x)) to explore the other useful pieces of information
x <- lm(istat_22 ~ vpa_cnr_2)
summary(x)$r.squared
summary(x)$adj.r.squared
summary(x)$coefficients[2,4] # p-value