代码是:
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)?
是的我知道,这取决于拦截,但R不能找到最适合lm
的功能吗?
答案 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