2 votes

ggplot2 : ajouter les équations de régression et R2 et ajuster leurs positions sur le graphique

Utilisation de df et le code ci-dessous

library(dplyr) 
library(ggplot2)
library(devtools)

df <- diamonds %>%
  dplyr::filter(cut%in%c("Fair","Ideal")) %>%
  dplyr::filter(clarity%in%c("I1" ,  "SI2" , "SI1" , "VS2" , "VS1",  "VVS2")) %>%
  dplyr::mutate(new_price = ifelse(cut == "Fair", 
                                   price* 0.5, 
                                   price * 1.1))

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", se = F)

J'ai eu cette intrigue

enter image description here

Merci à la réponse de @kdauria à cette question J'ai ajouté les équations de régression et les R2 au graphique comme ci-dessous

source_gist("524eade46135f6348140")
ggplot(df, aes(x= new_price, y= carat, color = cut))+
  stat_smooth_func(geom="text",method="lm",hjust=0,parse=TRUE)+
  geom_point(alpha = 0.3)+
  facet_wrap(~clarity, scales = "free_y")+
  geom_smooth(method = "lm", se = F)

enter image description here

Maintenant, je veux ajuster la position des équations de régression et R2 pour qu'ils soient à un endroit spécifique dans chacune des facettes (par exemple en bas à droite dans chaque facette "par exemple 0,2 y et 0,8 x).

J'ai essayé d'ajuster la position par vjust y hjust mais ça n'a pas marché.

Toute suggestion serait très appréciée.

2voto

Uwe Points 21553

Essayez stat_poly_eq du paquet ggpmisc :

library(ggpmisc)
formula <- y ~ x
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(..eq.label.., ..rr.label.., sep = "~~~")), 
               label.x.npc = "right", label.y.npc = 0.15,
               formula = formula, parse = TRUE, size = 3)

renvoie à

enter image description here

Voir ?stat_poly_eq pour d'autres options permettant de contrôler la sortie.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X