Я пытаюсь отобразить уравнения на графике, используя stat_poly_eq
функцию ggpmisc
.
Моя проблема в том, как изменить y= ...
в уравнении на y1=...
и y2=...
, ссылаясь на аргумент key
.
Я пытался добавить eq.with.lhs
аргумент в отображении, но он не распознает аргумент. Я пытался передать вектор аргументу eq.with.lhs
, но он перекрывал оба элемента в каждом уравнении ...
У вас есть идея получше?
В последнем случае я мог бы использоватьgeom_text
после того, как я сам вычислил коэффициенты уравнения, но это оказалось менее эффективным способом решения проблемы.
Вот пример моей проблемы.
data <- data.frame(x = rnorm(20)) %>%
mutate(y1 = 1.2*x + rnorm(20, sd=0.2),
y2 = 0.9*x + rnorm(20, sd=0.3)) %>%
gather(value = value, key = key, -x)
ggplot(data, aes(x = x, y = value)) +
geom_point(aes(shape = key, colour = key)) +
stat_poly_eq(aes(label = ..eq.label.., colour = key),
formula = y ~ poly(x, 1, raw = TRUE),
eq.x.rhs = "x",
# eq.with.lhs = c(paste0(expression(y[1]), "~`=`~"),
# paste0(expression(y[2]), "~`=`~")),
eq.with.lhs = paste0(expression(y[ind]), "~`=`~"),
parse = TRUE) +
ylab(NULL)