我有一些线性和非线性模型,这些模型是从不同的数据集中得出来的,这些数据集测量了相同的两个变量x和y。我想使用stat_smooth将它们放在同一个图表上,以便可以轻松比较跨数据集的x和y之间的关系形状。
我正在尝试找到最有效的方法来做到这一点。现在我正在考虑创建一个空的ggplot对象,然后使用某种循环或lapply逐个添加到该对象中,但这比我想象的更困难。当然,最简单的方法是直接向ggplot提供模型,但据我所知,这是不可能的。您有什么想法吗?
这里有一个简单的示例数据集,只使用了两个模型,一个是线性的,一个是指数的:
我正在尝试找到最有效的方法来做到这一点。现在我正在考虑创建一个空的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)