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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。