當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。