buat laporan R disesuaikan R kuadrat dan uji-F dalam output dengan kesalahan standar yang kuat
Saya telah memperkirakan model regresi linier menggunakan lm(x~y1 + y1 + ... + yn)
dan untuk melawan heteroskedastisitas saat ini, saya memiliki R memperkirakan kesalahan standar yang kuat
coeftest(model, vcov = vcovHC(model, type = "HC0"))
Saya tahu bahwa (kuat) R kuadrat dan statistik F dari model "normal" masih valid, tetapi bagaimana cara membuat R melaporkannya di keluaran? Saya ingin memadukan beberapa keluaran regresi dari spesifikasi yang berbeda bersama-sama stargazer
dan akan menjadi sangat kacau jika saya harus memasukkan model yang tidak kuat hanya untuk mendapatkan statistik ini. Idealnya saya ingin memasukkan keluaran regresi stargazer
yang berisi statistik ini, sehingga mengimpornya ke kerangka kerja mereka.
Terima kasih sebelumnya atas semua jawaban
Jawaban
Beginilah cara melakukannya. Anda perlu menggunakan objek model yang didukung oleh stargazer sebagai templat dan kemudian Anda dapat memberikan daftar dengan kesalahan standar yang akan digunakan:
library(dplyr)
library(lmtest)
library(stargazer)
# Basic Model ---------------------------------------------------------------------------------
model1 <- lm(hp ~ factor(gear) + qsec + cyl + factor(am), data = mtcars)
summary(model1)
# Robust standard Errors ----------------------------------------------------------------------
model_robust <- coeftest(model1, vcov = vcovHC(model1, type = "HC0"))
# Get robust standard Errors (sqrt of diagonal element of variance-covariance matrix)
se = vcovHC(model1, type = "HC0") %>% diag() %>% sqrt()
stargazer(model1, model1,
se = list(NULL, se), type = 'text')
Dengan menggunakan pendekatan ini, Anda dapat menggunakan stargazer bahkan untuk objek model yang tidak didukung. Anda hanya membutuhkan koefisien, kesalahan standar, dan nilai p sebagai vektor. Kemudian Anda dapat 'memasukkan secara mekanis' bahkan model yang tidak didukung.
Satu Catatan terakhir. Anda benar bahwa setelah terjadi heteroskedastisitas, Rsquared masih dapat digunakan. Namun, uji-F secara keseluruhan serta uji-t TIDAK berlaku lagi.
Saya tidak memiliki solusi dengan stargarzer
, tetapi saya memiliki beberapa alternatif yang layak untuk tabel regresi dengan kesalahan standar yang kuat:
Pilihan 1
Gunakan modelsummary
paket untuk membuat tabel Anda.
ini memiliki statistic_override
argumen yang memungkinkan Anda untuk menyediakan fungsi yang menghitung matriks kovarians varian yang kuat (misalnya sandwich::vcovHC
,.
library(modelsummary)
library(sandwich)
mod1 <- lm(drat ~ mpg, mtcars)
mod2 <- lm(drat ~ mpg + vs, mtcars)
mod3 <- lm(drat ~ mpg + vs + hp, mtcars)
models <- list(mod1, mod2, mod3)
modelsummary(models, statistic_override = vcovHC)

Catatan 1: Tangkapan layar di atas berasal dari tabel HTML, tetapi modelsummary
paket juga dapat menyimpan tabel Word, LaTeX, atau penurunan harga.
Catatan 2: Saya penulis paket ini, jadi perlakukan ini sebagai tampilan yang berpotensi bias.
pilihan 2
Gunakan estimatr::lm_robust
fungsi yang secara otomatis menyertakan kesalahan standar yang kuat. Saya percaya itu estimatr
didukung oleh stargazer
, tetapi saya tahu itu didukung oleh modelsummary
.
library(estimatr)
mod1 <- lm_robust(drat ~ mpg, mtcars)
mod2 <- lm_robust(drat ~ mpg + vs, mtcars)
mod3 <- lm_robust(drat ~ mpg + vs + hp, mtcars)
models <- list(mod1, mod2, mod3)
modelsummary(models)