当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R nlsList 具有通用模型的 nls 对象列表


R语言 nlsList 位于 nlme 包(package)。

说明

Data 根据 model 中定义的分组因子级别进行分区,并使用 model 中定义的模型为每个 data 分区获得单独的 nls 拟合。

用法

nlsList(model, data, start, control, level, subset,
        na.action = na.fail, pool = TRUE, warn.nls = NA)

## S3 method for class 'formula'
nlsList(model, data, start, control, level, subset,
        na.action = na.fail, pool = TRUE, warn.nls = NA)

## S3 method for class 'nlsList'
update(object, model., ..., evaluate = TRUE)

参数

object

从类 nlsList 继承的对象,表示适合的 nls 对象的列表。

model

非线性模型公式(响应位于 ~ 运算符左侧,表达式涉及由右侧的 | 运算符分隔的参数、协变量和分组因子)或 selfStart 函数。方法函数nlsList.selfStart 单独记录。

model.

对模型的更改 - 有关详细信息,请参阅update.formula

data

用于解释 model 中命名的变量的 DataFrame 。

start

一个可选的命名列表,其中包含要在 model 中估计的参数的初始值。它作为 start 参数传递给每个 nls 调用,并且当 model 中的非线性函数不从类 selfStart 继承时需要它。

control

作为 control 参数传递给 nls 的控制值列表。默认为空列表。

level

一个可选整数,指定存在多个嵌套分组级别时要使用的分组级别。

subset

一个可选表达式,指示应在拟合中使用的 data 行的子集。这可以是逻辑向量,或者指示要包括哪些观察编号的数值向量,或者要包括的行名称的字符向量。默认情况下包括所有观察结果。

na.action

一个函数,指示当数据包含 NA 时应该发生什么。默认操作 ( na.fail ) 会导致 nlsList 打印错误消息并在存在任何不完整的观察结果时终止。

pool

保留为返回值的属性的可选逻辑值。在计算摘要的标准偏差或标准误差时,这将用作 pool 的默认值。

warn.nls

logical 指示是否应将 nls() 错误(所有错误均由 tryCatch 捕获)发出信号为 “summarizing” warning

...

该泛型的某些方法需要额外的参数。此方法中没有使用任何内容。

evaluate

如果 TRUE 评估新调用,否则返回该调用。

细节

由于每个子组都会调用 nls(.),并且这些子组的收敛可能会出现问题,因此这些调用会发生错误捕获。

nlme 版本 3.1-127 (2016-04) 开始,所有错误都会被捕获(通过 tryCatch ),如果存在,则 “summarizing” warning 将存储为结果 "nlsList" 对象的属性并发出信号,除非由 warn.nls = FALSE 抑制,或者当前当 warn.nls = NA(默认)和 getOption("show.error.messages") 为 false 时也抑制。

nlsList() 最初使用 try(*)(使用默认值 silent=FALSE),因此除非全局选项 show.error.messages 设置为 true,否则所有错误都会打印到控制台。这仍然有效,但已被弃用。

nls 对象的列表,其组件数量与分组因子定义的组数相同。 coef , fixed.effects , lme , pairs , plot , predict , random.effects , summaryupdate 等通用函数具有可应用于 nlsList 对象的方法。

例子

fm1 <- nlsList(uptake ~ SSasympOff(conc, Asym, lrc, c0),
   data = CO2, start = c(Asym = 30, lrc = -4.5, c0 = 52))
summary(fm1)
cfm1 <- confint(fm1) # via profiling each % FIXME: only *one* message instead of one *each*
mat.class <- class(matrix(1)) # ("matrix", "array") for R >= 4.0.0;  ("matrix" in older R)
i.ok <- which(vapply(cfm1,
                function(r) identical(class(r), mat.class), NA))
stopifnot(length(i.ok) > 0, !anyNA(match(c(2:4, 6:9, 12), i.ok)))
## where as (some of) the others gave errors during profile re-fitting :
str(cfm1[- i.ok])

参考

Pinheiro, J.C., and Bates, D.M. (2000), Mixed-Effects Models in S and S-PLUS, Springer.

也可以看看

nls , nlme.nlsList , nlsList.selfStart , summary.nlsList

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 List of nls Objects with a Common Model。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。