1
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"),
                      facet = c("C", "D", "E", "F", "G"),
                      y2 = y * c(0.5,2),
                      w = sqrt(x))

formula <- y ~ poly(x, 3, raw = TRUE)

ggplot2::ggplot(my.data, ggplot2::aes(x, y, color = group)) +
  ggplot2::geom_point() +
  ggplot2::geom_smooth(method = "lm", formula = formula) + 
  ggplot2::facet_grid(facet ~ .) + 
  ggpmisc::stat_poly_eq(
    ggplot2::aes(label = paste(
      stat(rr.label), 
      sep = "*\", \"*")), 
    formula = formula, parse=T)

实际输出:

在此处输入图像描述

预期输出:

在此处输入图像描述

每个颜色组和每个事实图将出现在哪里N = X,其中 X 是该组和构面中的点数。

4

1 回答 1

3

Updated package 'ggpmisc' in version 0.4.0.9000 so that stat_poly_eq() now also returns n and n.label. CRAN version of 'ggpmisc' is 0.4.3 as of 2021-09-03. I add the full reprex here for completeness.

library(ggpmisc)
#> Loading required package: ggpp
#> Loading required package: ggplot2
#> 
#> Attaching package: 'ggpp'
#> The following object is masked from 'package:ggplot2':
#> 
#>     annotate

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"),
                      facet = c("C", "D", "E", "F", "G"),
                      y2 = y * c(0.5,2),
                      w = sqrt(x))

formula <- y ~ poly(x, 3, raw = TRUE)

ggplot(my.data, aes(x, y, color = group)) +
  geom_point() +
  geom_smooth(method = "lm", formula = formula) + 
  stat_poly_eq(aes(label = paste(after_stat(rr.label), 
                                 after_stat(n.label), 
                                 sep = "*\", \"*")), 
               formula = formula,
               vstep = 0.2) +
  facet_grid(facet ~ .)

Created on 2021-09-04 by the reprex package (v2.0.1)

于 2021-05-31T22:27:33.267 回答