如何在具有 2 个不同数据集的图中使用 ggplot2 添加平滑线

How to add a smooth line using ggplot2 in a plot with 2 different datasets

我正在尝试用 2 个不同的数据集和每个散点的平滑线制作一个散点图来比较它们。

我可以单独做,但出于某种原因,当两者在同一个情节时我不能做(我知道这可能是我缺乏编码知识)

我正在尝试这个也许有人可以指出我的错误

df1 <- data.frame("x1"=1:25, "y1"=rnorm(25))
df2 <- data.frame("x2"=1:25, "y2"=rnorm(25))
ggplot()+geom_point(data=df1,aes(x=x1,y=y1),size=2,shape=23,color="blue")+
  geom_point(data=df2,aes(x=x2,y=y2),size=2,shape=23,color="red")+geom_smooth(se=F)

感谢大家的帮助

编辑:我按照建议添加了可用数据

与其他 geom 基本相同。将每个数据帧传递给单独的 geom_smooth 并定义映射或美学:

library(ggplot2)
set.seed(42)
df1 <- data.frame("x1"=1:25, "y1"=rnorm(25))
df2 <- data.frame("x2"=1:25, "y2"=rnorm(25))
ggplot()+
  geom_point(data=df1,aes(x=x1,y=y1),size=2,shape=23,color="blue")+
  geom_point(data=df2,aes(x=x2,y=y2),size=2,shape=23,color="red")+
  geom_smooth(data=df1,aes(x=x1,y=y1), se=F) +
  geom_smooth(data=df2,aes(x=x2,y=y2), se=F)
#> `geom_smooth()` using method = 'loess' and formula 'y ~ x'
#> `geom_smooth()` using method = 'loess' and formula 'y ~ x'