gpt4 book ai didi

r - R中的非线性曲线拟合

转载 作者:行者123 更新时间:2023-12-04 01:07:15 24 4
gpt4 key购买 nike

我正在研究 R 中的非线性曲线拟合,但我不知道如何使用变量来约束数据...这是一个例子:

dat<-read.table(text="time y
1 4.62
2 13.55
3 30.82
6 93.97
12 145.93
24 179.93", header = TRUE)
plot(data);lines(data)
model <- nls(y ~ Max * (1-exp(-k * (time - Lag))),data=dat,start=list(Max = 200, k = 0.1, Lag = 0.5))

我想包括 if (time - Lag) < 0, then y = 0 但我终究无法弄清楚该怎么做。

最佳答案

将右边乘以 (time > Lag)

st <- list(Max = 200, k = 0.1, Lag = 0.5)
model <- nls(y ~ (time > Lag) * Max * (1-exp(-k * (time - Lag))), data = dat, start = st)
model
## Nonlinear regression model
## model: y ~ (time > Lag) * Max * (1 - exp(-k * (time - Lag)))
## data: dat
## Max k Lag
## 185.6447 0.1523 1.6016
## residual sum-of-squares: 65.06
##
## Number of iterations to convergence: 4
## Achieved convergence tolerance: 2.016e-07

plot(dat)
lines(fitted(model) ~ time, dat, col = "red")

screenshot

关于r - R中的非线性曲线拟合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66035274/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com