R指示指数曲线

时间:2016-05-23 19:47:14

标签: r curve exponential exp

我有两个向量X和y2,我希望对数据拟合指数曲线。

我尝试了Stack Overflow主题中描述的许多方法,但所有这些方法只给我一条直线。例如我试过这个:

model.three <- lm(log(y2) ~ log(X))
plot(X,predict(model.three))
abline(model.three)

我的数据:

X <- seq(1:50)
Y <- rnorm(50,mean=0,sd=1)
y2 <- exp(X)
y2 <- Y+y2

2 个答案:

答案 0 :(得分:1)

这是你在找什么?

model.three <- lm(log(y2) ~ log(X))
plot(X,predict(model.three))

## Instead of abline(), use this:

lines(model.three$fitted.values)

答案 1 :(得分:1)

您的数据表示Y和X之间的指数关系,Y = exp(X) + eps其中eps是一些噪音。 因此,我建议在log(Y)X之间拟合模型,以捕捉两者之间的线性关系:

model.three <- lm(log(y2) ~ X) summary(model.three)

摘要确认捕获的关系符合预期(即X的系数非常接近1)。

由于在线性刻度上绘制数据是没有用的,我认为用abline绘制拟合直线是个好主意。

注意:准确地说,捕捉y2和exp(X)之间的关系会更准确,但是对于你的数据,拟合基本上是完美的。