检索 R 中指数方程中预测函数使用的公式
retrieve formula used by predict function in exponential equation in R
我不知道如何从线性模型的 predict
函数中重建结果和公式。在 ggplot geom_smooth(method='lm',formula,y ~ exp(x)).
中使用这些数据时,我也得到相同的结果
这是一些示例数据
x=c(1,10,100,1000,10000,100000,1000000,3000000)
y=c(1,1,10,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))
然而,这给了我一个递减的指数而不是递增。 我的目标是提取指数函数的方程,以便我可以在另一个上下文中重用这些系数。。 predict() 使用的是什么方程式?有什么方法可以看到它?
我做了一些事情:
Df<-data.frame(x=c(1,10,100,1000,10000,100000,1000000,3000000),
y=c(1,1,10,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
我不知道如何从线性模型的 predict
函数中重建结果和公式。在 ggplot geom_smooth(method='lm',formula,y ~ exp(x)).
这是一些示例数据
x=c(1,10,100,1000,10000,100000,1000000,3000000)
y=c(1,1,10,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))
然而,这给了我一个递减的指数而不是递增。 我的目标是提取指数函数的方程,以便我可以在另一个上下文中重用这些系数。。 predict() 使用的是什么方程式?有什么方法可以看到它?
我做了一些事情:
Df<-data.frame(x=c(1,10,100,1000,10000,100000,1000000,3000000),
y=c(1,1,10,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