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


R broom augment.fixest 使用来自(n)个最固定对象的信息来增强数据


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 fixest
augment(
  x,
  data = NULL,
  newdata = NULL,
  type.predict = c("link", "response"),
  type.residuals = c("response", "deviance", "pearson", "working"),
  ...
)

参数

x

从任何 fixest 估计器返回的 fixest 对象

data

base::data.frametibble::tibble() 包含用于生成对象 x 的原始数据。默认为stats::model.frame(x),以便augment(my_fit) 返回增强的原始数据。不要将新数据传递给 data 参数。增强将报告传递给 data 参数的数据的影响和烹饪距离等信息。这些度量仅针对原始训练数据定义。

newdata

base::data.frame()tibble::tibble() 包含用于创建 x 的所有原始预测变量。默认为 NULL ,表示没有任何内容传递给 newdata 。如果指定了newdata,则data 参数将被忽略。

type.predict

传递给 predict.fixest type 参数。默认为 "link" (如 predict.glm )。

type.residuals

传递给 predict.fixest type 参数。默认为 "response" (类似于 residuals.lm ,但与 residuals.glm 不同)。

...

传递给 summaryconfint 的其他参数。重要参数是 secluster 。其他参数包括 dofexact_dofforceCovariancekeepBounded 。请参阅summary.fixest

注意

重要提示:fixest 模型不包含输入数据的副本,因此您必须手动提供。

augment.fixest 仅适用于 fixest::feols()fixest::feglm()fixest::femlm() 型号。它不适用于 fixest::fenegbin()fixest::feNmlm()fixest::fepois() 的结果。

也可以看看

augment() , fixest::feglm() , fixest::femlm() , fixest::feols()

其他最固定的整理器:tidy.fixest()

带有列的 tibble::tibble()

.fitted

拟合值或预测值。

.resid

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

例子


# load libraries for models and data
library(fixest)

gravity <-
  feols(
    log(Euros) ~ log(dist_km) | Origin + Destination + Product + Year, trade
  )

tidy(gravity)
#> # A tibble: 1 × 5
#>   term         estimate std.error statistic       p.value
#>   <chr>           <dbl>     <dbl>     <dbl>         <dbl>
#> 1 log(dist_km)    -2.17     0.154     -14.1 0.00000000119
glance(gravity)
#> # A tibble: 1 × 9
#>   r.squared adj.r.squared within.r.squared pseudo.r.squared sigma  nobs
#>       <dbl>         <dbl>            <dbl>            <dbl> <dbl> <int>
#> 1     0.706         0.705            0.219               NA  1.74 38325
#> # ℹ 3 more variables: AIC <dbl>, BIC <dbl>, logLik <dbl>
augment(gravity, trade)
#> # A tibble: 38,325 × 9
#>    .rownames Destination Origin Product  Year dist_km    Euros .fitted
#>    <chr>     <fct>       <fct>    <int> <dbl>   <dbl>    <dbl>   <dbl>
#>  1 1         LU          BE           1  2007    140.  2966697    14.1
#>  2 2         BE          LU           1  2007    140.  6755030    13.0
#>  3 3         LU          BE           2  2007    140. 57078782    16.9
#>  4 4         BE          LU           2  2007    140.  7117406    15.8
#>  5 5         LU          BE           3  2007    140. 17379821    16.3
#>  6 6         BE          LU           3  2007    140.  2622254    15.2
#>  7 7         LU          BE           4  2007    140. 64867588    17.4
#>  8 8         BE          LU           4  2007    140. 10731757    16.3
#>  9 9         LU          BE           5  2007    140.   330702    14.1
#> 10 10        BE          LU           5  2007    140.     7706    13.0
#> # ℹ 38,315 more rows
#> # ℹ 1 more variable: .resid <dbl>

# to get robust or clustered SEs, users can either:

# 1) specify the arguments directly in the `tidy()` call

tidy(gravity, conf.int = TRUE, cluster = c("Product", "Year"))
#> # A tibble: 1 × 7
#>   term         estimate std.error statistic  p.value conf.low conf.high
#>   <chr>           <dbl>     <dbl>     <dbl>    <dbl>    <dbl>     <dbl>
#> 1 log(dist_km)    -2.17    0.0760     -28.5 3.88e-10    -2.34     -2.00

tidy(gravity, conf.int = TRUE, se = "threeway")
#> # A tibble: 1 × 7
#>   term         estimate std.error statistic     p.value conf.low conf.high
#>   <chr>           <dbl>     <dbl>     <dbl>       <dbl>    <dbl>     <dbl>
#> 1 log(dist_km)    -2.17     0.175     -12.4     6.08e-9    -2.54     -1.79

# 2) or, feed tidy() a summary.fixest object that has already accepted
# these arguments

gravity_summ <- summary(gravity, cluster = c("Product", "Year"))

tidy(gravity_summ, conf.int = TRUE)
#> # A tibble: 1 × 7
#>   term         estimate std.error statistic  p.value conf.low conf.high
#>   <chr>           <dbl>     <dbl>     <dbl>    <dbl>    <dbl>     <dbl>
#> 1 log(dist_km)    -2.17    0.0760     -28.5 3.88e-10    -2.34     -2.00

# approach (1) is preferred.
源代码:R/fixest-tidiers.R

相关用法


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