问题描述
我不能找出如何重构的结果,也没有从predict
的线性模型的函数的公式。我在ggplot geom_smooth使用该数据时得到相同的结果也(方法= 'LM',式中,Y〜EXP(X))。
下面是一些示例数据
x=c(1,10,100,1000,10000,100000,1000000,3000000)
y=c(1,1,15,20,30,40,60)
我想用一个指数函数,以便(忽略对于我登录的x值的时刻,因为EXP()为非常大的值失败):
model = lm( y ~ exp(log10(x)))
mypred = predict(model)
plot(log(x),mypred)
我试过了
lm_coef <- coef(model)
plot(log10(x),lm_coef[1]*exp(-lm_coef[2]*x))
然而,这是给我一个递减的指数,而不是增加。 我的目标是提取指数函数的公式,所以我可以重用在另一个上下文中的系数。即可。什么方程是利用预测(),并且是有办法看到吗?
解决方法
我做了一些类似的事情:
Df<-data.frame(x=c(1,10,100,1000,10000,100000,1000000,3000000),y=c(1,1,15,20,30,40,60))
model<-lm(data = Df,formula = y~log(x))
predict(model)
plot(log(Df$x),predict(model))
summary(model)
你得到的相关输出是:
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -6.0700 4.7262 -1.284 0.246386
log(x) 3.5651 0.5035 7.081 0.000398 ***
---
因此你的方程是 3.5651*log(x)-6.0700