J'ai dans un même graphique besoin de représenter des points, les droites des régressions linéaires basiques et deux autres droites pour lesquelles j'aimerais aussi rajouter une légende. je voudrais que quelque part figure leur type de ligne (noire avec trait plein ou pointillé) et le fait que cela correspond à la droite a ou b. Et je n'y arrive sans casser ce qui est déjà. je dois m'emmêler dans les paramètres aes. Merci d'avance pour votre aide !
Voici le code reproductible :
Code : Tout sélectionner
df <- structure(list(x = c(0.931876615954232, 1.404507484083, 2.51451686326531,
2.27825599212231, 1.61202744987466, 1.84713832058886, 1.62001423812519,
2.44975920271156, 2.2913990153089, 1.64570173462881, 3.03515029833661,
2.5443959421922, 2.13670685856895, 2.70411193098739, 2.74605164682275,
1.76403897161154, 1.83076738365766, 2.70669808918621, 1.08873876589875,
1.60391591433584, 2.04381045440631, 2.14286614104681, 2.47384883527232,
2.70047277609663, 2.02791905136354, 1.97320713072294, 1.4641732199573,
2.99325963697579, 1.48144377294174, 1.90689127200791, 2.07937902958465,
2.7596682487853, 2.25243145549665, 1.76802568567882, 1.18785130948326,
1.73989239926551, 1.07815867401174, 1.36576105279594, 2.06698628983676,
2.29408206846923, 2.59297320168456, 1.97592117956591, 2.40883437860234,
1.54244518303599, 2.59474308614927, 2.0261412532271, 2.78577296657542,
2.03969559857577, 1.88919636950616, 2.181788629307), y = c(4.99031703269956,
2.94946663597429, 8.64326818171732, 9.93979242901424, 8.19415425175963,
8.61202934547733, 4.2559326204612, 8.78256683927802, 10.6359352968698,
9.30853995305602, 13.503444715475, 7.74749059766792, 8.2987930773388,
12.0147316514994, 13.6914359366791, 9.72160297518154, 6.62659205862619,
10.9208853592471, 6.35667063471309, 9.53373954295117, 10.2864954912986,
6.51705044664743, 8.95902982448516, 13.3400249020461, 11.2337221340486,
9.8571712378832, 4.06743153704425, 11.3388804303845, 7.88981718513577,
10.9099836041231, 10.4150161623225, 9.47288473622777, 9.30396727092545,
10.3252228984926, 8.23634289761891, 8.56455122050241, 1.8895928259342,
5.41553233158969, 10.4111681405326, 12.0441861824506, 11.3425048787545,
5.38060153352539, 9.14392401223271, 8.23642541717419, 13.3031240487554,
10.7353813912154, 9.84666831138022, 8.12718402556978, 9.7684882294645,
12.505406245936), indiv.id = c(1L, 2L, 3L, 4L, 5L, 1L, 2L, 3L,
4L, 5L, 1L, 2L, 3L, 4L, 5L, 1L, 2L, 3L, 4L, 5L, 1L, 2L, 3L, 4L,
5L, 1L, 2L, 3L, 4L, 5L, 1L, 2L, 3L, 4L, 5L, 1L, 2L, 3L, 4L, 5L,
1L, 2L, 3L, 4L, 5L, 1L, 2L, 3L, 4L, 5L), annees.id = c(1L, 1L,
1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L,
4L, 4L, 5L, 5L, 5L, 5L, 5L, 6L, 6L, 6L, 6L, 6L, 7L, 7L, 7L, 7L,
7L, 8L, 8L, 8L, 8L, 8L, 9L, 9L, 9L, 9L, 9L, 10L, 10L, 10L, 10L,
10L)), row.names = c(NA, -50L), class = "data.frame")
df$indiv.id <- as.factor(df$indiv.id)
df$annees.id <- as.factor(df$annees.id)
#Création du graphique
graphique <- ggplot(df, aes(x = x, y = y, colour = indiv.id))
graphique + geom_point() + geom_smooth(method = lm, se=FALSE) + geom_abline(
intercept = -5, slope = 7,
colour = "black" ) +
geom_abline(
intercept = 0.9, slope = 4,
colour = "black", linetype="dashed")