【问题标题】:New Self-start function新的自启动功能
【发布时间】:2018-05-21 16:32:12
【问题描述】:

我正在关注 Pinheiro & Bates 2000 pp.345。我想拟合一个 nls 模型,并修改了逻辑模型。我想创建一个自启动功能,但显示错误。当我运行“logist3P”时,错误“模型公式中没有出现参数‘scal’”显示。我认为问题在于我为“scal”参数设置了一个公式。如何输入“scal”的公式并避免错误?

logistin3P <- function(mCall, LHS, data)
{
  xy <- sortedXyData(mCall[["x"]], LHS, data)
  if(nrow(xy)<3) {stop("Too few distinct input values to fit a logistic")}
  Asym <- max(abs(xy[,"y"]))
  if(Asym !=max(xy[,"y"])) Asym <- -Asym #negative asymptote
  xmid <- NLSstClosestX(xy, 0.5 * Asym)
  scal <- (((log(Asym)+log(Asym*0.75))/ log(Asym*0.75))/((xmid*1.5)-xmid))         
  value <- c(Asym, xmid, scal)
  names(value) <- mCall[c("Asym","xmid","scal")]
  value
}

logist3P <- selfStart(~Asym/(1+exp(- scal(x-xmid))), initial = logistin3P, parameters = c("Asym","xmid","scal"))

【问题讨论】:

    标签: r function nlme


    【解决方案1】:

    我相信您在模型参数中的scal 之后缺少*

    logist3P <- selfStart(~Asym/(1+exp(- scal*(x-xmid))), initial = logistin3P, parameters = c("Asym","xmid","scal"))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-13
      • 2021-10-29
      • 1970-01-01
      • 2013-05-07
      • 2022-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多