我试图在R中加入一个gnls
函数,并抛出一个错误:Error in eval(predvars, data, env) : object A not found
不知道我在哪里出错。
set.seed(111)
y.size <- rnorm(100,4,1)
p <- rnorm(100,5,1)
df <- data.frame(p, y.size)
# fit generalised nonlinear least squares
require(nlme)
mgnls <- gnls(y.size ~ ((A *((p*K/Ka)-1))-1)* log(p),
start = list(A = c(-1,-10),
K = c(800,3000),
Ka = c(35000,45000)),
data = df)
plot(mgnls) # more homogenous
任何需要更多信息的人:我正试图跟随this method
发布于 2022-05-27 00:32:51
我看有两个问题。首先,我不明白list(A = c(-1,-10), K = c(800,3000),Ka = c(35000,4500))
的惯例。通常,只有一个值用于初始化起始值。
其次,您的方程定义了K/Ka,这两个值都是可调整的参数。这将导致错误,因为K和Ka的值是无限的,这将计算出相同的值。最好将一个值设置为一个常数,或者定义一个等于该比率的新值。
set.seed(111)
y.size <- rnorm(100,4,1)
p <- rnorm(100,5,1)
df <- data.frame(p, y.size)
# fit generalised nonlinear least squares
require(nlme)
mgnls <- gnls(y.size ~ ((A *((p*K_Ka)-1))-1)* log(p),
start = list(A = -5, K_Ka = 0.5),
data=df)
plot(mgnls) # more homogenous
https://stackoverflow.com/questions/72399178
复制相似问题