我试图将曲线拟合到一组数据点,但没有成功。所以我问你。
whatever|grep|grep|sed|sed|awkgrep|sed...
我唯一的问题是,我的数据包含负值,因此log(val)会产生大量的NA,导致模型计算崩溃。 我知道我的数据不一定看起来像指数,但我还是希望看到合适的数据。我还使用了另一个程序,它显示我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
谢谢!
答案 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