R(和负值)的指数回归

时间:2017-06-27 15:27:43

标签: r regression

我试图将曲线拟合到一组数据点,但没有成功。所以我问你。

whatever|grep|grep|sed|sed|awkgrep|sed...

我唯一的问题是,我的数据包含负值,因此log(val)会产生大量的NA,导致模型计算崩溃。 My Data 我知道我的数据不一定看起来像指数,但我还是希望看到合适的数据。我还使用了另一个程序,它显示我val = 27.1331 * exp(-time / 2.88031)是一个不错的选择,但我不知道,我做错了什么。  我想用R计算它 我有想法改变数据,所以没有负值,但结果很差,而且肯定是错误的。

plot(time,val) # look at data 
exponential.model <- lm(log(val)~ a) # compute model
fit <- exp(predict(exponential.model,list(Time=time))) # create the fitted curve
plot(time,val)#plot it again
lines(time, fit,lwd=2) # show the fitted line

My data with bad (shift)-fit

谢谢!

1 个答案:

答案 0 :(得分:1)

我想出了一些事情并且有一个令人满意的解决方案。

  exponential.model <- nls(val ~ a*exp(b*time), start=c(b=-0.1,h=30))

log(val)项试图重新调整值,因此可以应用线性模型。由于这不可能达到我的值,因此必须使用非线性模型(nls)。

{{1}}

这对我来说很好。 https://www.w3schools.com/php/func_string_strip_tags.asp