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


R broom augment.mjoint 使用來自 mjoint 對象的信息增強數據


Augment 接受模型對象和數據集,並添加有關數據集中每個觀察值的信息。最常見的是,這包括 .fitted 列中的預測值、.resid 列中的殘差以及 .se.fit 列中擬合值的標準誤差。新列始終以 . 前綴開頭,以避免覆蓋原始數據集中的列。

用戶可以通過 data 參數或 newdata 參數傳遞數據以進行增強。如果用戶將數據傳遞給 data 參數,則它必須正是用於擬合模型對象的數據。將數據集傳遞給 newdata 以擴充模型擬合期間未使用的數據。這仍然要求至少存在用於擬合模型的所有預測變量列。如果用於擬合模型的原始結果變量未包含在 newdata 中,則輸出中不會包含 .resid 列。

根據是否給出 datanewdata,增強的行為通常會有所不同。這是因為通常存在與訓練觀察(例如影響或相關)測量相關的信息,而這些信息對於新觀察沒有有意義的定義。

為了方便起見,許多增強方法提供默認的 data 參數,以便 augment(fit) 將返回增強的訓練數據。在這些情況下,augment 嘗試根據模型對象重建原始數據,並取得了不同程度的成功。

增強數據集始終以 tibble::tibble 形式返回,其行數與傳遞的數據集相同。這意味著傳遞的數據必須可強製轉換為 tibble。如果預測變量將模型作為協變量矩陣的一部分輸入,例如當模型公式使用 splines::ns()stats::poly()survival::Surv() 時,它會表示為矩陣列。

我們正在定義適合各種 na.action 參數的模型的行為,但目前不保證數據丟失時的行為。

用法

# S3 method for mjoint
augment(x, data = x$data, ...)

參數

x

joineRML::mjoint() 返回的 mjoint 對象。

data

base::data.frametibble::tibble() 包含用於生成對象 x 的原始數據。默認為stats::model.frame(x),以便augment(my_fit) 返回增強的原始數據。不要將新數據傳遞給 data 參數。增強將報告傳遞給 data 參數的數據的影響和烹飪距離等信息。這些度量僅針對原始訓練數據定義。

...

附加參數。不曾用過。僅需要匹配通用簽名。注意:拚寫錯誤的參數將被吸收到 ... 中,並被忽略。如果拚寫錯誤的參數有默認值,則將使用默認值。例如,如果您傳遞 conf.lvel = 0.9 ,所有計算將使用 conf.level = 0.95 進行。這裏有兩個異常:

  • tidy() 方法在提供 exponentiate 參數時會發出警告(如果該參數將被忽略)。

  • augment() 方法在提供 newdata 參數時會發出警告(如果該參數將被忽略)。

tibble::tibble(),每個原始觀察值一行,並帶有附加列:

.fitted_j_0

population-level j-th 縱向過程的擬合值

.fitted_j_1

individuals-level j-th 縱向過程的擬合值

.resid_j_0

j-th 縱向過程的 population-level 殘差

.resid_j_1

j-th 縱向過程的 individual-level 殘差

細節

有關population-level 和individual-level 擬合值和殘差之間差異的更多信息,請參閱joineRML::fitted.mjoint()joineRML::residuals.mjoint()

如果使用單個縱向過程擬合聯合模型,請確保使用名為 list 來定義縱向子模型的固定效應和隨機效應的公式。

例子


# broom only skips running these examples because the example models take a
# while to generate—they should run just fine, though!
if (FALSE) {


# load libraries for models and data
library(joineRML)

# fit a joint model with bivariate longitudinal outcomes
data(heart.valve)

hvd <- heart.valve[!is.na(heart.valve$log.grad) &
  !is.na(heart.valve$log.lvmi) &
  heart.valve$num <= 50, ]

fit <- mjoint(
  formLongFixed = list(
    "grad" = log.grad ~ time + sex + hs,
    "lvmi" = log.lvmi ~ time + sex
  ),
  formLongRandom = list(
    "grad" = ~ 1 | num,
    "lvmi" = ~ time | num
  ),
  formSurv = Surv(fuyrs, status) ~ age,
  data = hvd,
  inits = list("gamma" = c(0.11, 1.51, 0.80)),
  timeVar = "time"
)

# extract the survival fixed effects
tidy(fit)

# extract the longitudinal fixed effects
tidy(fit, component = "longitudinal")

# extract the survival fixed effects with confidence intervals
tidy(fit, ci = TRUE)

# extract the survival fixed effects with confidence intervals based
# on bootstrapped standard errors
bSE <- bootSE(fit, nboot = 5, safe.boot = TRUE)
tidy(fit, boot_se = bSE, ci = TRUE)

# augment original data with fitted longitudinal values and residuals
hvd2 <- augment(fit)

# extract model statistics
glance(fit)
}

相關用法


注:本文由純淨天空篩選整理自大神的英文原創作品 Augment data with information from a(n) mjoint object。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。