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
-
從
spatialreg::lagsarlm()
或spatialreg::errorsarlm()
返回的對象。 - data
-
被忽略,但為了內部一致性而包含在內。請參閱下麵的詳細信息。
- ...
-
附加參數。不曾用過。僅需要匹配通用簽名。注意:拚寫錯誤的參數將被吸收到
...
中,並被忽略。如果拚寫錯誤的參數有默認值,則將使用默認值。例如,如果您傳遞conf.lvel = 0.9
,所有計算將使用conf.level = 0.95
進行。這裏有兩個異常:
也可以看看
其他空間寄存器:glance.sarlm()
、tidy.sarlm()
例子
# load libraries for models and data
library(spatialreg)
#> Loading required package: spData
#> To access larger datasets in this package, install the
#> spDataLarge package with: `install.packages('spDataLarge',
#> repos='https://nowosad.github.io/drat/', type='source')`
#> Loading required package: sf
#> Linking to GEOS 3.10.2, GDAL 3.4.1, PROJ 8.2.1; sf_use_s2() is TRUE
library(spdep)
#>
#> Attaching package: ‘spdep’
#> The following objects are masked from ‘package:spatialreg’:
#>
#> get.ClusterOption, get.VerboseOption, get.ZeroPolicyOption,
#> get.coresOption, get.mcOption, set.ClusterOption,
#> set.VerboseOption, set.ZeroPolicyOption, set.coresOption,
#> set.mcOption
# load data
data(oldcol, package = "spdep")
listw <- nb2listw(COL.nb, style = "W")
# fit model
crime_sar <-
lagsarlm(CRIME ~ INC + HOVAL,
data = COL.OLD,
listw = listw,
method = "eigen"
)
# summarize model fit with tidiers
tidy(crime_sar)
#> # A tibble: 4 × 5
#> term estimate std.error statistic p.value
#> <chr> <dbl> <dbl> <dbl> <dbl>
#> 1 rho 0.431 0.118 3.66 2.50e- 4
#> 2 (Intercept) 45.1 7.18 6.28 3.37e-10
#> 3 INC -1.03 0.305 -3.38 7.23e- 4
#> 4 HOVAL -0.266 0.0885 -3.00 2.66e- 3
tidy(crime_sar, 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 rho 0.431 0.118 3.66 2.50e- 4 0.200 0.662
#> 2 (Intercept) 45.1 7.18 6.28 3.37e-10 31.0 59.1
#> 3 INC -1.03 0.305 -3.38 7.23e- 4 -1.63 -0.434
#> 4 HOVAL -0.266 0.0885 -3.00 2.66e- 3 -0.439 -0.0925
glance(crime_sar)
#> # A tibble: 1 × 6
#> r.squared AIC BIC deviance logLik nobs
#> <dbl> <dbl> <dbl> <dbl> <dbl> <int>
#> 1 0.652 375. 384. 4679. -182. 49
augment(crime_sar)
#> # A tibble: 49 × 6
#> `(Intercept)` INC HOVAL CRIME .fitted .resid
#> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 1 21.2 44.6 18.8 22.6 -3.84
#> 2 1 4.48 33.2 32.4 46.6 -14.2
#> 3 1 11.3 37.1 38.4 41.4 -2.97
#> 4 1 8.44 75 0.178 37.9 -37.7
#> 5 1 19.5 80.5 15.7 14.2 1.54
#> 6 1 16.0 26.4 30.6 34.3 -3.66
#> 7 1 11.3 23.2 50.7 44.7 5.99
#> 8 1 16.0 28.8 26.1 38.4 -12.3
#> 9 1 9.87 18 48.6 51.7 -3.12
#> 10 1 13.6 96.4 34.0 16.3 17.7
#> # ℹ 39 more rows
# fit another model
crime_sem <- errorsarlm(CRIME ~ INC + HOVAL, data = COL.OLD, listw)
# summarize model fit with tidiers
tidy(crime_sem)
#> # A tibble: 4 × 5
#> term estimate std.error statistic p.value
#> <chr> <dbl> <dbl> <dbl> <dbl>
#> 1 (Intercept) 59.9 5.37 11.2 0
#> 2 INC -0.941 0.331 -2.85 0.00441
#> 3 HOVAL -0.302 0.0905 -3.34 0.000836
#> 4 lambda 0.562 0.134 4.20 0.0000271
tidy(crime_sem, 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 (Intercept) 59.9 5.37 11.2 0 49.4 70.4
#> 2 INC -0.941 0.331 -2.85 0.00441 -1.59 -0.293
#> 3 HOVAL -0.302 0.0905 -3.34 0.000836 -0.480 -0.125
#> 4 lambda 0.562 0.134 4.20 0.0000271 0.299 0.824
glance(crime_sem)
#> # A tibble: 1 × 6
#> r.squared AIC BIC deviance logLik nobs
#> <dbl> <dbl> <dbl> <dbl> <dbl> <int>
#> 1 0.658 377. 386. 4683. -183. 49
augment(crime_sem)
#> # A tibble: 49 × 6
#> `(Intercept)` INC HOVAL CRIME .fitted .resid
#> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 1 21.2 44.6 18.8 22.5 -3.70
#> 2 1 4.48 33.2 32.4 44.9 -12.5
#> 3 1 11.3 37.1 38.4 38.2 0.223
#> 4 1 8.44 75 0.178 35.0 -34.8
#> 5 1 19.5 80.5 15.7 13.3 2.45
#> 6 1 16.0 26.4 30.6 35.0 -4.33
#> 7 1 11.3 23.2 50.7 42.3 8.41
#> 8 1 16.0 28.8 26.1 39.4 -13.3
#> 9 1 9.87 18 48.6 49.3 -0.721
#> 10 1 13.6 96.4 34.0 16.6 17.4
#> # ℹ 39 more rows
# fit another model
crime_sac <- sacsarlm(CRIME ~ INC + HOVAL, data = COL.OLD, listw)
# summarize model fit with tidiers
tidy(crime_sac)
#> # A tibble: 5 × 5
#> term estimate std.error statistic p.value
#> <chr> <dbl> <dbl> <dbl> <dbl>
#> 1 rho 0.368 0.197 1.87 0.0613
#> 2 (Intercept) 47.8 9.90 4.83 0.00000140
#> 3 INC -1.03 0.326 -3.14 0.00167
#> 4 HOVAL -0.282 0.0900 -3.13 0.00176
#> 5 lambda 0.167 0.297 0.562 0.574
tidy(crime_sac, conf.int = TRUE)
#> # A tibble: 5 × 7
#> term estimate std.error statistic p.value conf.low conf.high
#> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 rho 0.368 0.197 1.87 0.0613 -0.0174 0.754
#> 2 (Intercept) 47.8 9.90 4.83 0.00000140 28.4 67.2
#> 3 INC -1.03 0.326 -3.14 0.00167 -1.67 -0.386
#> 4 HOVAL -0.282 0.0900 -3.13 0.00176 -0.458 -0.105
#> 5 lambda 0.167 0.297 0.562 0.574 -0.415 0.748
glance(crime_sac)
#> # A tibble: 1 × 6
#> r.squared AIC BIC deviance logLik nobs
#> <dbl> <dbl> <dbl> <dbl> <dbl> <int>
#> 1 0.652 376. 388. 4685. -182. 49
augment(crime_sac)
#> # A tibble: 49 × 6
#> `(Intercept)` INC HOVAL CRIME .fitted .resid
#> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 1 21.2 44.6 18.8 22.2 -3.37
#> 2 1 4.48 33.2 32.4 46.4 -14.0
#> 3 1 11.3 37.1 38.4 40.4 -2.00
#> 4 1 8.44 75 0.178 37.5 -37.3
#> 5 1 19.5 80.5 15.7 13.5 2.25
#> 6 1 16.0 26.4 30.6 34.4 -3.74
#> 7 1 11.3 23.2 50.7 44.1 6.60
#> 8 1 16.0 28.8 26.1 39.0 -12.9
#> 9 1 9.87 18 48.6 51.5 -2.93
#> 10 1 13.6 96.4 34.0 15.8 18.2
#> # ℹ 39 more rows
相關用法
- R broom augment.speedlm 使用來自 speedlm 對象的信息增強數據
- R broom augment.smooth.spline 整理一個(n)smooth.spline對象
- R broom augment.survreg 使用來自 survreg 對象的信息增強數據
- 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.felm 使用來自 (n) 個 felm 對象的信息來增強數據
- R broom augment.drc 使用來自 a(n) drc 對象的信息增強數據
- R broom augment.decomposed.ts 使用來自 decomposed.ts 對象的信息增強數據
- R broom augment.poLCA 使用來自 poLCA 對象的信息增強數據
- R broom augment.lm 使用來自 (n) lm 對象的信息增強數據
- R broom augment.rqs 使用來自 (n) 個 rqs 對象的信息來增強數據
- R broom augment.polr 使用來自 (n) 個 polr 對象的信息增強數據
- R broom augment.plm 使用來自 plm 對象的信息增強數據
- R broom augment.nls 使用來自 nls 對象的信息增強數據
- R broom augment.gam 使用來自 gam 對象的信息增強數據
- R broom augment.fixest 使用來自(n)個最固定對象的信息來增強數據
- 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) spatialreg object。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。