不同的最佳拟合,并从R中的回归中获得p值

时间:2016-03-18 15:07:11

标签: r scatter-plot lm

我有这个图,来自包car,图1: enter image description here

代码是:

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 enter image description here

是的我知道,这取决于拦截,但R不能找到最适合lm的功能吗?

2 个答案:

答案 0 :(得分:2)

如果你想在图表中显示它们,我会使用模型的调整后的R平方和整体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)

您可以参考以下链接:Adding Regression Line Equation and R2 on graph了解如何在ggplot中标记它们。至于为什么回归线似乎不正确,这是因为你的变量在lm公式中被还原。 abline(lm(istat_22 ~ vpa_cnr_2),col="red")

答案 1 :(得分:1)

具体而言,如果您想从线性回归中提取值,可以使用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