我有一个线性和非线性模型列表,这些模型源自测量相同两个变量的不同数据集x
and y
我想使用在同一个图上绘制stat_smooth
。这是为了能够轻松比较之间关系的形状x
and y
跨数据集。
我正在尝试找出最有效的方法来做到这一点。现在我正在考虑创建一个空的 ggplot 对象,然后使用某种循环或lapply
按顺序添加到该对象,但这比我想象的要困难。当然,最简单的方法是将模型提供给ggplot
但据我所知,这是不可能的。有什么想法吗?
这是一个简单的示例数据集,仅使用两种模型(一种线性模型和一种指数模型)进行处理:
df1=data.frame(x=rnorm(10),y=rnorm(10))
df2=data.frame(x=rnorm(15),y=rnorm(15))
df.list=list(lm(y~x,df1),nls(y~exp(a+b*x),start=list(a=1,b=1),df2))
以及两个单独的示例图:
ggplot(df1,aes(x,y))+stat_smooth(method=lm,se=F)
ggplot(df2,aes(x,y))+stat_smooth(method=nls,formula=y~exp(a+b*x),start=list(a=1,b=1),se=F)