我有一个数据集 df。我想创建两个组,包含 a= Special 和 b=Up+ Down+ Left。然后我想在一个图中为每个子组有 2x 决定系数和 2 条回归线。 问题是如何调用这些创建的子集而不过度绘制我的 R2。使用此代码,我为每个组创建一条线。
library(tidyverse)
set.seed(2013)
Place <- sample(c("Up", "Down", "Left", "Special"), 100, replace = TRUE)
Value <- sample(200:1500, 100, replace = TRUE)
Conc <- sample(1:25, 100, replace = TRUE)
df <- tibble(Place, Value, Conc)
#make subgroup only Special
a <- df |>
filter(Place == "Special")
#make subgroup Up+Down+Left
U <-"Up"
D <-"Down"
L <-"Left"
Subgroup <- c(U,D,L)
b <- df |>
filter(Place %in% Subgroup)
#Scatter and Regression for all Place seperated
df |>
ggplot(aes(Value, Conc))+
geom_point(aes(col = Place))+
stat_poly_line(aes(col = Place), se = FALSE)+
stat_poly_eq()
您尚未为
stat_poly_eq
层指定分组变量。在 geom_point
层和 stat_poly_line
层中,您已将“颜色”美感映射到 Place
列,但尚未对 stat_poly_eq
执行此操作,因此会生成单个 R2 值。您可以像在其他层中一样直接提供它,也可以在原始 colour = Place
调用的美学中传递 ggplot
,在这种情况下,映射将继承到所有其他层:
df |>
ggplot(aes(Value, Conc, colour = Place)) +
geom_point() +
stat_poly_line(se = FALSE) +
stat_poly_eq() +
theme_bw()