简体   繁体   English

R中的非线性最小二乘:eval(predvars,data,env)中的错误:找不到对象

[英]Non-linear least squares in R: Error in eval(predvars, data, env) : object not found

I am trying to fit a gnls function in R and throws me an error that says: Error in eval(predvars, data, env) : object A not found Not sure where I am going wrong.我试图在 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

For anyone needing more info: I'm trying to follow along this method对于任何需要更多信息的人:我正在尝试遵循这种方法

I see there are 2 issues.我看到有2个问题。 First I don't understand the convention list(A = c(-1,-10), K = c(800,3000),Ka = c(35000,4500)) .首先,我不明白约定list(A = c(-1,-10), K = c(800,3000),Ka = c(35000,4500)) Generally only 1 value is used to initialize the starting value.一般只使用 1 个值来初始化起始值。

Second, your equation defines K/Ka with both values as adjustable parameters.其次,您的方程将 K/Ka 定义为两个值作为可调参数。 This will cause errors since there are an infinite number of values for K and Ka which will evaluate to the same value.这将导致错误,因为 K 和 Ka 有无数个值,它们将评估为相同的值。 It is better to set one value to a constant or define a new value equal to the ratio.最好将一个值设置为常数或定义一个等于该比率的新值。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 R:eval(predvars,data,env)中的错误:找不到对象&#39;x&#39; - R: Error in eval(predvars, data, env) : object 'x' not found eval(predvars,data,env)中的错误:找不到对象 - Error in eval(predvars, data, env) : object not found 线性回归: eval(predvars, data, env) 中的错误:找不到对象“G3” - Linear Regression: Error in eval(predvars, data, env) : object 'G3' not found object '...' not found in R Functions with lm --&gt;&gt; (Error in eval(predvars, data, env): object '...' not found) - object '…' not found in R Functions with lm -->> (Error in eval(predvars, data, env) : object '…' not found) 回归:评估错误(predvars,数据,env):未找到 object 'volt' - regression: Error in eval(predvars, data, env) : object 'volt' not found eval(predvars, data, env) 中的错误:找不到对象“下水道” - Error in eval(predvars, data, env) : object 'Sewer' not found R 中的奇怪分类和 eval 中的错误(predvars,data,env):object [...] 未找到错误(没有错字!) - Strange classification in R and Error in eval(predvars, data, env) : object […] not found error (no typo!) eval(predvars, data, env) 中的错误:找不到对象“BMI” - Error in eval(predvars, data, env) : object 'BMI' not found eval(predvars, data, env) 中的错误:找不到对象“有用” - Error in eval(predvars, data, env) : object 'helpfulness' not found eval(predvars,data,env)中的systemfit错误:找不到对象 - systemfit Error in eval(predvars, data, env) : object not found
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM