Augment 接受模型對象和數據集,並添加有關數據集中每個觀察值的信息。最常見的是,這包括 .fitted
列中的預測值、.resid
列中的殘差以及 .se.fit
列中擬合值的標準誤差。新列始終以 .
前綴開頭,以避免覆蓋原始數據集中的列。
用戶可以通過 data
參數或 newdata
參數傳遞數據以進行增強。如果用戶將數據傳遞給 data
參數,則它必須正是用於擬合模型對象的數據。將數據集傳遞給 newdata
以擴充模型擬合期間未使用的數據。這仍然要求至少存在用於擬合模型的所有預測變量列。如果用於擬合模型的原始結果變量未包含在 newdata
中,則輸出中不會包含 .resid
列。
根據是否給出 data
或 newdata
,增強的行為通常會有所不同。這是因為通常存在與訓練觀察(例如影響或相關)測量相關的信息,而這些信息對於新觀察沒有有意義的定義。
為了方便起見,許多增強方法提供默認的 data
參數,以便 augment(fit)
將返回增強的訓練數據。在這些情況下,augment 嘗試根據模型對象重建原始數據,並取得了不同程度的成功。
增強數據集始終以 tibble::tibble 形式返回,其行數與傳遞的數據集相同。這意味著傳遞的數據必須可強製轉換為 tibble。如果預測變量將模型作為協變量矩陣的一部分輸入,例如當模型公式使用 splines::ns()
、 stats::poly()
或 survival::Surv()
時,它會表示為矩陣列。
我們正在定義適合各種 na.action
參數的模型的行為,但目前不保證數據丟失時的行為。
參數
- x
-
plm::plm()
返回的plm
對象。 - data
-
base::data.frame 或
tibble::tibble()
包含用於生成對象x
的原始數據。默認為stats::model.frame(x)
,以便augment(my_fit)
返回增強的原始數據。不要將新數據傳遞給data
參數。增強將報告傳遞給data
參數的數據的影響和烹飪距離等信息。這些度量僅針對原始訓練數據定義。 - ...
-
附加參數。不曾用過。僅需要匹配通用簽名。注意:拚寫錯誤的參數將被吸收到
...
中,並被忽略。如果拚寫錯誤的參數有默認值,則將使用默認值。例如,如果您傳遞conf.lvel = 0.9
,所有計算將使用conf.level = 0.95
進行。這裏有兩個異常:
也可以看看
其他 plm 整理器:glance.plm()
、tidy.plm()
例子
# load libraries for models and data
library(plm)
#>
#> Attaching package: ‘plm’
#> The following object is masked from ‘package:mlogit’:
#>
#> has.intercept
#> The following object is masked from ‘package:lfe’:
#>
#> sargan
#> The following objects are masked from ‘package:dplyr’:
#>
#> between, lag, lead
# load data
data("Produc", package = "plm")
# fit model
zz <- plm(log(gsp) ~ log(pcap) + log(pc) + log(emp) + unemp,
data = Produc, index = c("state", "year")
)
# summarize model fit with tidiers
summary(zz)
#> Oneway (individual) effect Within Model
#>
#> Call:
#> plm(formula = log(gsp) ~ log(pcap) + log(pc) + log(emp) + unemp,
#> data = Produc, index = c("state", "year"))
#>
#> Balanced Panel: n = 48, T = 17, N = 816
#>
#> Residuals:
#> Min. 1st Qu. Median 3rd Qu. Max.
#> -0.120456 -0.023741 -0.002041 0.018144 0.174718
#>
#> Coefficients:
#> Estimate Std. Error t-value Pr(>|t|)
#> log(pcap) -0.02614965 0.02900158 -0.9017 0.3675
#> log(pc) 0.29200693 0.02511967 11.6246 < 2.2e-16 ***
#> log(emp) 0.76815947 0.03009174 25.5273 < 2.2e-16 ***
#> unemp -0.00529774 0.00098873 -5.3582 1.114e-07 ***
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#>
#> Total Sum of Squares: 18.941
#> Residual Sum of Squares: 1.1112
#> R-Squared: 0.94134
#> Adj. R-Squared: 0.93742
#> F-statistic: 3064.81 on 4 and 764 DF, p-value: < 2.22e-16
tidy(zz)
#> # A tibble: 4 × 5
#> term estimate std.error statistic p.value
#> <chr> <dbl> <dbl> <dbl> <dbl>
#> 1 log(pcap) -0.0261 0.0290 -0.902 3.68e- 1
#> 2 log(pc) 0.292 0.0251 11.6 7.08e- 29
#> 3 log(emp) 0.768 0.0301 25.5 2.02e-104
#> 4 unemp -0.00530 0.000989 -5.36 1.11e- 7
tidy(zz, conf.int = TRUE)
#> # A tibble: 4 × 7
#> term estimate std.error statistic p.value conf.low conf.high
#> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 log(pcap) -0.0261 0.0290 -0.902 3.68e- 1 -0.0830 0.0307
#> 2 log(pc) 0.292 0.0251 11.6 7.08e- 29 0.243 0.341
#> 3 log(emp) 0.768 0.0301 25.5 2.02e-104 0.709 0.827
#> 4 unemp -0.00530 0.000989 -5.36 1.11e- 7 -0.00724 -0.00336
tidy(zz, conf.int = TRUE, conf.level = 0.9)
#> # A tibble: 4 × 7
#> term estimate std.error statistic p.value conf.low conf.high
#> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 log(pcap) -0.0261 0.0290 -0.902 3.68e- 1 -0.0739 0.0216
#> 2 log(pc) 0.292 0.0251 11.6 7.08e- 29 0.251 0.333
#> 3 log(emp) 0.768 0.0301 25.5 2.02e-104 0.719 0.818
#> 4 unemp -0.00530 0.000989 -5.36 1.11e- 7 -0.00692 -0.00367
augment(zz)
#> # A tibble: 816 × 7
#> `log(gsp)` `log(pcap)` `log(pc)` `log(emp)` unemp .fitted .resid
#> <pseries> <pseries> <pseries> <pseries> <pser> <dbl> <pseries>
#> 1 10.25478 9.617981 10.48553 6.918201 4.7 10.3 -0.046561413
#> 2 10.28790 9.648720 10.52675 6.929419 5.2 10.3 -0.030640422
#> 3 10.35147 9.678618 10.56283 6.977561 4.7 10.4 -0.016454312
#> 4 10.41721 9.705418 10.59873 7.034828 3.9 10.4 -0.008726974
#> 5 10.42671 9.726910 10.64679 7.064588 5.5 10.5 -0.027084312
#> 6 10.42240 9.759401 10.69130 7.052202 7.7 10.4 -0.022368930
#> 7 10.48470 9.783175 10.82420 7.095893 6.8 10.5 -0.036587629
#> 8 10.53111 9.804326 10.84125 7.146142 7.4 10.6 -0.030020604
#> 9 10.59573 9.824430 10.87055 7.197810 6.3 10.6 -0.018942497
#> 10 10.62082 9.845937 10.90643 7.216709 7.1 10.6 -0.014057170
#> # ℹ 806 more rows
glance(zz)
#> # A tibble: 1 × 7
#> r.squared adj.r.squared statistic p.value deviance df.residual nobs
#> <dbl> <dbl> <dbl> <dbl> <dbl> <int> <int>
#> 1 0.941 0.937 3065. 0 1.11 764 816
相關用法
- R broom augment.poLCA 使用來自 poLCA 對象的信息增強數據
- R broom augment.polr 使用來自 (n) 個 polr 對象的信息增強數據
- R broom augment.pam 使用來自 pam 對象的信息增強數據
- R broom augment.betamfx 使用來自 betamfx 對象的信息增強數據
- R broom augment.robustbase.glmrob 使用來自 glmrob 對象的信息增強數據
- R broom augment.rlm 使用來自 rlm 對象的信息增強數據
- R broom augment.htest 使用來自(n)個 htest 對象的信息來增強數據
- R broom augment.clm 使用來自 clm 對象的信息增強數據
- R broom augment.speedlm 使用來自 speedlm 對象的信息增強數據
- R broom augment.felm 使用來自 (n) 個 felm 對象的信息來增強數據
- R broom augment.smooth.spline 整理一個(n)smooth.spline對象
- R broom augment.drc 使用來自 a(n) drc 對象的信息增強數據
- R broom augment.decomposed.ts 使用來自 decomposed.ts 對象的信息增強數據
- R broom augment.lm 使用來自 (n) lm 對象的信息增強數據
- R broom augment.rqs 使用來自 (n) 個 rqs 對象的信息來增強數據
- R broom augment.nls 使用來自 nls 對象的信息增強數據
- R broom augment.gam 使用來自 gam 對象的信息增強數據
- R broom augment.fixest 使用來自(n)個最固定對象的信息來增強數據
- R broom augment.survreg 使用來自 survreg 對象的信息增強數據
- R broom augment.rq 使用來自 a(n) rq 對象的信息增強數據
- R broom augment.Mclust 使用來自 Mclust 對象的信息增強數據
- R broom augment.nlrq 整理 a(n) nlrq 對象
- R broom augment.robustbase.lmrob 使用來自 lmrob 對象的信息增強數據
- R broom augment.lmRob 使用來自 lmRob 對象的信息增強數據
- R broom augment.mlogit 使用來自 mlogit 對象的信息增強數據
注:本文由純淨天空篩選整理自等大神的英文原創作品 Augment data with information from a(n) plm object。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。