我的数据集中有几个因变量,我想找到x和y之间的最佳拟合。如何修改以下代码(循环函数)以同时绘制x和所有ys的图。我没有单独为每个因变量运行代码,而是想运行一个代码并为(x,y)(x,y1)和(x,y2)提供三个图
fit1 <- read.table(header=TRUE,text="
x y y1 y2
1 0 2.36 3 5
2 1 1.10 3 6
3 2 0.81 4 7
4 3 0.69 1.3 8
5 4 0.64 2.3 9
6 5 0.61 4.3 15")
Various fits:
library(ggplot2)
ggplot(fit1,aes(x,y))+geom_point()+
geom_smooth(method="glm",se=FALSE,
method.args=list(family=gaussian(link="log")))+
geom_smooth(method="nls",se=FALSE,
formula=y~a+b*exp(-c*x),
method.args=list(start=list(a=0.6,b=1.5,c=1)),
colour="red")+
geom_smooth(method="lm",se=FALSE,
formula=y~exp(-x),
colour="purple")
答案 0 :(得分:0)
您可以在融化数据后使用facet_grid
fit1_melt <- melt(fit1, id = "x")
ggplot(fit1_melt, aes(x=x,y=value)) +
geom_point() +
facet_grid(~variable)