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


R broom augment.rma 使用来自 rma 对象的信息增强数据


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 rma
augment(x, interval = c("prediction", "confidence"), ...)

参数

x

rma 对象,例如由 metafor::rma()metafor::rma.uni()metafor::rma.glmm()metafor::rma.mh()metafor::rma.mv()metafor::rma.peto() 创建的对象。

interval

对于 rma.mv 模型,是否应该返回预测区间("prediction",默认值)或置信区间("confidence")区间?对于rma.uni 模型,始终返回预测区间。对于 rma.mhrma.peto 模型,始终返回置信区间。

...

附加参数。不曾用过。仅需要匹配通用签名。注意:拼写错误的参数将被吸收到 ... 中,并被忽略。如果拼写错误的参数有默认值,则将使用默认值。例如,如果您传递 conf.lvel = 0.9 ,所有计算将使用 conf.level = 0.95 进行。这里有两个异常:

  • tidy() 方法在提供 exponentiate 参数时会发出警告(如果该参数将被忽略)。

  • augment() 方法在提供 newdata 参数时会发出警告(如果该参数将被忽略)。

带有列的 tibble::tibble()

.fitted

拟合值或预测值。

.lower

拟合值的区间下限。

.moderator

在meta-analysis中,调节器用于计算预测值。

.moderator.level

在meta-analysis中,用于计算预测值的调节器级别。

.resid

观察值和拟合值之间的差异。

.se.fit

拟合值的标准误差。

.upper

拟合值的区间上限。

.observed

个别研究的观察值

例子


# load modeling library
library(metafor)
#> Loading required package: metadat
#> Loading required package: numDeriv
#> 
#> Loading the 'metafor' package (version 4.2-0). For an
#> introduction to the package please type: help(metafor)
#> 
#> Attaching package: ‘metafor’
#> The following object is masked from ‘package:car’:
#> 
#>     vif
#> The following object is masked from ‘package:mclust’:
#> 
#>     hc

# generate data and fit
df <-
  escalc(
    measure = "RR",
    ai = tpos,
    bi = tneg,
    ci = cpos,
    di = cneg,
    data = dat.bcg
  )

meta_analysis <- rma(yi, vi, data = df, method = "EB")

# summarize model fit with tidiers
augment(meta_analysis)
#> # A tibble: 13 × 6
#>    .observed  .fitted .se.fit .lower   .upper  .resid
#>        <dbl>    <dbl>   <dbl>  <dbl>    <dbl>   <dbl>
#>  1   -0.889  -0.801    0.411  -1.61   0.00524 -0.174 
#>  2   -1.59   -1.26     0.354  -1.95  -0.561   -0.870 
#>  3   -1.35   -0.990    0.437  -1.85  -0.134   -0.633 
#>  4   -1.44   -1.40     0.138  -1.67  -1.13    -0.727 
#>  5   -0.218  -0.287    0.212  -0.701  0.128    0.497 
#>  6   -0.786  -0.785    0.0823 -0.946 -0.623   -0.0711
#>  7   -1.62   -1.25     0.370  -1.97  -0.523   -0.906 
#>  8    0.0120  0.00301  0.0626 -0.120  0.126    0.727 
#>  9   -0.469  -0.506    0.221  -0.939 -0.0740   0.246 
#> 10   -1.37   -1.25     0.246  -1.73  -0.767   -0.656 
#> 11   -0.339  -0.353    0.110  -0.568 -0.139    0.376 
#> 12    0.446  -0.281    0.460  -1.18   0.621    1.16  
#> 13   -0.0173 -0.145    0.244  -0.623  0.333    0.698 

相关用法


注:本文由纯净天空筛选整理自大神的英文原创作品 Augment data with information from a(n) rma object。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。