我试着用R2.15.1来拟合条件nls。同样的代码在R2.13中运行良好,但现在R2.15.1抛出了错误。
x <- seq(from = 17, to = 47, by = 5)
y <- c(26.2, 173.6, 233.9, 185.9, 115.4, 62.0, 21.7)
Data <- data.frame(y, x)
Fit <- nls(formula = y ~ ifelse(test = x <= Mu, yes = Mean <- c1*exp(-((x-Mu)/Sigma11)^2), no = Mean <- c1*exp(-((x-Mu)/Sigma12)^2)),
data = Data, start = list(c1 = 240, Mu = 25, Sigma11 = 5, Sigma12 = 14), algorithm = "port",
lower = list(Sigma11 = 0, Sigma12 = 0))错误是
Error in nls(formula = y ~ ifelse(test = x <= Mu, yes = Mean <- c1 * exp(-((x - :
parameters without starting value in 'data': Mean编辑的
我正在拟合以下模型:
$f(x) = c_{1} \exp\left(-\left(\frac{x-\mu}{\sigma_{(x)}}\right)^2\right)$
where $\sigma_{(x)} = \sigma_{11}$ if $x \le \mu$ and $\sigma_{(x)} = \sigma_{12}$ if $x > \mu$发布于 2012-07-21 04:54:20
此代码在R2.15.1中工作。
x <- seq(from = 17, to = 47, by = 5)
y <- c(26.2, 173.6, 233.9, 185.9, 115.4, 62.0, 21.7)
Data <- data.frame(y, x)
Fit <- nls(formula = y ~ ifelse(test = x <= Mu, ye = c1*exp(-((x-Mu)/Sigma11)^2), no = c1*exp(-((x-Mu)/Sigma12)^2)),
data = Data, start = list(c1 = 240, Mu = 25, Sigma11 = 5, Sigma12 = 14), algorithm = "port",
lower = list(Sigma11 = 0, Sigma12 = 0))https://stackoverflow.com/questions/11589139
复制相似问题