Ответ 1
Используйте stat_fit_glance
который является частью пакета ggpmisc
в R. Этот пакет является расширением ggplot2
поэтому он хорошо работает с ним.
ggplot(df, aes(x= new_price, y= carat, color = cut)) +
geom_point(alpha = 0.3) +
facet_wrap(~clarity, scales = "free_y") +
geom_smooth(method = "lm", formula = formula, se = F) +
stat_poly_eq(aes(label = paste(..rr.label..)),
label.x.npc = "right", label.y.npc = 0.15,
formula = formula, parse = TRUE, size = 3)+
stat_fit_glance(method = 'lm',
method.args = list(formula = formula),
geom = 'text',
aes(label = paste("P-value = ", signif(..p.value.., digits = 4), sep = "")),
label.x.npc = 'right', label.y.npc = 0.35, size = 3)
stat_fit_glance
основном берет все, что пропущено через lm()
в R, и позволяет обрабатывать и печатать с использованием ggplot2
. В руководстве пользователя приведено краткое stat_fit_glance
некоторых функций, таких как stat_fit_glance
: https://cran.r-project.org/web/packages/ggpmisc/vignettes/user-guide.html. Также я считаю, что это дает p-значение модели, а не p-значение наклона (в целом), которое будет различным для множественной линейной регрессии. Для простой линейной регрессии они должны быть одинаковыми.
Вот сюжет: