x <- 1:100
y <- (x + x^2 + x^3) + rnorm(length(x), mean = 0, sd = mean(x^3) / 4)
my.data <- data.frame(x = x, y = y,
group = c("A", "B"),
y2 = y * c(0.5,2),
w = sqrt(x))
formula <- y ~ poly(x, 3, raw = TRUE)
ggplot(my.data, aes(x, y)) +
geom_point() +
geom_smooth(method = "lm", formula = formula) +
stat_poly_eq(formula = formula, parse = TRUE)如下所示:

发布于 2021-05-29 04:01:40
ggplot(my.data, aes(x, y)) +
geom_point() +
geom_smooth(method = "lm", formula = formula) +
ggpmisc::stat_poly_eq(aes(label = paste(stat(rr.label), paste("N ~`=`~", nrow(my.data)), sep = "*\", \"*")), formula = formula, parse=T)您可以在aes中包含其他文本。因为字符串被解析了,所以你必须用~`=`~来转义等号。
编辑:使用镶嵌面
您可以创建组行数的另一个未使用的映射,将其用作paste语句中的变量,而不是nrow(my.data)。
ggplot(my.data %>% group_by(group) %>% mutate(n = n()), aes(x, y, n = n)) +
geom_point() +
geom_smooth(method = "lm", formula = formula) +
facet_grid(vars(group)) +
ggpmisc::stat_poly_eq(aes(label = paste(stat(rr.label), paste("N ~`=`~", n), sep = "*\", \"*")),
formula = formula, parse=T)https://stackoverflow.com/questions/67742741
复制相似问题