R 中的指数增长函数 - 拟合数据
exponential growth function in R - fitting data
我有以下数据:
> x = 1:40
> y =
5 6 28 30 31 34 39 48 63 70 82 91 107 112 127 146 171 198 258 334 403 497 571 657 730 883 1024 1139
1329 1635 2059 2545 3105 3684 4289 4778 5351 5916 6729 7600
如何在 R 中计算出该图的指数函数(包括系数和常数)?
在你的 post 中你只有 38 个 y 值,所以我基本上假设 x 是 1:38。如果是y = exp(ax+b)
,可以改成log(y) = ax + b
,拟合一个线性模型。以下将使用正确的值:
x = 1:38
y = c(5, 6, 28, 30, 31, 34, 39, 48, 63, 70, 82, 91, 107, 112, 127,
146, 171, 198, 258, 334, 403, 497, 571, 657, 730, 883, 1024,
1635, 2059, 2545, 3105, 3684, 4289, 4778, 5351, 5916, 6729, 7600
)
fit = lm(log(y) ~ x)
plot(x,y)
lines(x,exp(fitted(fit)),col="blue")
我有以下数据:
> x = 1:40
> y =
5 6 28 30 31 34 39 48 63 70 82 91 107 112 127 146 171 198 258 334 403 497 571 657 730 883 1024 1139
1329 1635 2059 2545 3105 3684 4289 4778 5351 5916 6729 7600
如何在 R 中计算出该图的指数函数(包括系数和常数)?
在你的 post 中你只有 38 个 y 值,所以我基本上假设 x 是 1:38。如果是y = exp(ax+b)
,可以改成log(y) = ax + b
,拟合一个线性模型。以下将使用正确的值:
x = 1:38
y = c(5, 6, 28, 30, 31, 34, 39, 48, 63, 70, 82, 91, 107, 112, 127,
146, 171, 198, 258, 334, 403, 497, 571, 657, 730, 883, 1024,
1635, 2059, 2545, 3105, 3684, 4289, 4778, 5351, 5916, 6729, 7600
)
fit = lm(log(y) ~ x)
plot(x,y)
lines(x,exp(fitted(fit)),col="blue")