gpt4 book ai didi

r - 空间滞后模型影响的 texreg 表

转载 作者:行者123 更新时间:2023-12-04 12:31:01 25 4
gpt4 key购买 nike

我正在使用 spdep 使用 Durbin 滞后模型运行空间回归。这种类型的模型返回每个回归系数的直接、间接和总效应及其显着性水平。

有没有像texreg 这样的R 库?以一种很好的方式组织 Durbin 滞后模型的输出,其中包含有关直接、间接和总效应的信息?

可重现的例子:

library(spdep)

example(columbus)
listw <- nb2listw(col.gal.nb)

# spatial regression - Durbin Model
mobj <- lagsarlm(CRIME ~ INC + HOVAL, columbus, listw, type="mixed")
summary(mobj)

# Calculate direct and indirect impacts
W <- as(listw, "CsparseMatrix")
trMatc <- trW(W, type="mult")
trMC <- trW(W, type="MC")
imp <- impacts(mobj, tr=trMC, R=100)
sums <- summary(imp, zstats=T)

# Return Effects
data.frame(sums$res)

# Return p-values
data.frame(sums$pzmat)

最佳答案

我不确定是否存在为此类模型对象创建美观表格的现有函数,但是(通过一些努力)您可以自己动手。

下面是一个 rmarkdown 文档,其中包含您的代码以及三个额外的代码块。第一个组合系数和 p 值数据。接下来的两个为 latex 表生成两个不同的选项。

我使用 sums$ressums$pzmat 作为表格值,使用 tidyverse 函数来组合系数估计和 p 值以及编辑列名称,以及 kablekableExtra 包以生成 latex 输出。

rmarkdown 文档

---
title: "Coefficient Table for Durbin Lag Model"
author: "eipi10"
date: "8/30/2017"
output: pdf_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE, message=FALSE, warning=FALSE)

library(spdep)
library(texreg)

example(columbus)
listw <- nb2listw(col.gal.nb)
```

```{r}
# spatial regression - Durbin Model
mobj <- lagsarlm(CRIME ~ INC + HOVAL, columbus, listw, type="mixed")
#summary(mobj)

# Calculate direct and indirect impacts
W <- as(listw, "CsparseMatrix")
trMatc <- trW(W, type="mult")
trMC <- trW(W, type="MC")
imp <- impacts(mobj, tr=trMC, R=100)
sums <- summary(imp, zstats=T)

# Return Effects
# data.frame(sums$res)

# Return p-values
# data.frame(sums$pzmat)
```

```{r extractTableData}
library(knitr)
library(kableExtra)
library(dplyr)
library(tidyr)
library(stringr)

# Extract coefficients and p-values
tab = bind_rows(sums$res) %>% t %>% as.data.frame %>%
setNames(., names(sums$res[[1]])) %>%
mutate(Coef_Type=str_to_title(rownames(.)),
Value_Type="Estimate") %>%
bind_rows(sums$pzmat %>% t %>% as.data.frame %>%
mutate(Coef_Type=rownames(.),
Value_Type="p-value")) %>%
gather(key, value, INC, HOVAL)
```

```{r table1}
# Reshape table into desired output format
tab1 = tab %>%
unite(coef, key, Value_Type) %>%
spread(coef, value) %>%
mutate_if(is.numeric, round, 3)

# Change column names to what we want to see in the output table
names(tab1) = c("", gsub(".*_(.*)", "\\1", names(tab1)[-1]))

# Output latex table, including extra header row to mark coefficient names
kable(tab1, booktabs=TRUE, format="latex") %>%
add_header_above(setNames(c("", 2, 2), c("", sort(rownames(sums$pzmat))))) %>%
kable_styling(position="center")
```

\vspace{1cm}

```{r table2}
# Reshape table into desired output format
tab2 = tab %>%
unite(coef, Coef_Type, Value_Type) %>%
spread(coef, value) %>%
mutate_if(is.numeric, round, 3)

# Change column names to what we want to see in the output table
names(tab2) = c("Coefficient", gsub(".*_(.*)", "\\1", names(tab2)[-1]))

# Output latex table, including extra header row to mark coefficient names
kable(tab2, booktabs=TRUE, format="latex") %>%
add_header_above(setNames(c(" ", rep(2, 3)), c("", colnames(sums$pzmat)))) %>%
kable_styling(position="center")
```

PDF输出文档

enter image description here

关于r - 空间滞后模型影响的 texreg 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45971419/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com