首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >广义线性模型的文本输出

广义线性模型的文本输出
EN

Stack Overflow用户
提问于 2015-07-16 16:28:45
回答 1查看 1.1K关注 0票数 2

我可以使用texreg获得用于knitr的glm的漂亮输出。有时我们需要用反向链接将glm的输出转换回响应。我想知道如何使用texreg获得反向链接输出。有点像texreg(exp(glm.D93))

代码语言:javascript
复制
counts <- c(18,17,15,20,10,20,25,13,12)
outcome <- gl(3,1,9)
treatment <- gl(3,3)
d.AD <- data.frame(treatment, outcome, counts)
glm.D93 <- glm(counts ~ outcome + treatment, family = poisson())

library(texreg)
texreg(glm.D93)

代码语言:javascript
复制
\begin{table}
\begin{center}
\begin{tabular}{l c }
\hline
               & Model 1 \\
\hline
(Intercept)    & $3.04^{***}$ \\
               & $(0.17)$     \\
outcome2       & $-0.45^{*}$  \\
               & $(0.20)$     \\
outcome3       & $-0.29$      \\
               & $(0.19)$     \\
treatment2     & $0.00$       \\
               & $(0.20)$     \\
treatment3     & $0.00$       \\
               & $(0.20)$     \\
\hline
AIC            & 56.76        \\
BIC            & 57.75        \\
Log Likelihood & -23.38       \\
Deviance       & 5.13         \\
Num. obs.      & 9            \\
\hline
\multicolumn{2}{l}{\scriptsize{$^{***}p<0.001$, $^{**}p<0.01$, $^*p<0.05$}}
\end{tabular}
\caption{Statistical models}
\label{table:coefficients}
\end{center}
\end{table}

texreg(exp(glm.D93))

代码语言:javascript
复制
Error in exp(glm.D93) : non-numeric argument to mathematical function

编辑的

glm使用了一些link函数,并提供了标准错误、置信区间 on 链接标度。但有时我们也需要coefficients,,,标准错误,置信区间响应等级coefficients,直接提供coefficients标准错误置信区间链路标度上,不知道是否有可能直接得到标准错误和E 141置信区间E 242E 143响应标度E 244。

我找到了一种在stargazer中实现这一目标的方法,但是标准错误和置信区间仍然不是正确的。寻找解决这个问题的方法。

代码语言:javascript
复制
library(stargazer)

stargazer(glm.D93, coef=list(exp(glm.D93$coefficients)), type="text")

=============================================
                      Dependent variable:    
                  ---------------------------
                            counts           
---------------------------------------------
outcome2                   0.635***          
                            (0.202)          

outcome3                   0.746***          
                            (0.193)          

treatment2                 1.000***          
                            (0.200)          

treatment3                 1.000***          
                            (0.200)          

Constant                   21.000***         
                            (0.171)          

---------------------------------------------
Observations                   9             
Log Likelihood              -23.381          
Akaike Inf. Crit.           56.761           
=============================================
Note:             *p<0.1; **p<0.05; ***p<0.01
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-02 22:43:52

要么使用覆盖参数来完成这一任务,要么操作中间的texreg对象:

代码语言:javascript
复制
# solution 1
tr <- extract(glm.D93)
texreg(glm.D93, override.coef = exp(tr@coef), override.se = exp(tr@se))

# solution 2
tr <- extract(glm.D93)
tr@coef <- exp(tr@coef)
tr@se <- exp(tr@se)
texreg(tr)

或者直接从模型对象或其摘要中提取值(如果您不想使用texreg的提取函数),并将指数化的值交给重写参数。

这些解决方案中的任何一个都会产生以下输出(与屏幕显示一起):

代码语言:javascript
复制
==========================
                Model 1   
--------------------------
(Intercept)      21.00 ***
                 (1.19)   
outcome2          0.63 *  
                 (1.22)   
outcome3          0.75    
                 (1.21)   
treatment2        1.00    
                 (1.22)   
treatment3        1.00    
                 (1.22)   
--------------------------
AIC              56.76    
BIC              57.75    
Log Likelihood  -23.38    
Deviance          5.13    
Num. obs.         9       
==========================
*** p < 0.001, ** p < 0.01, * p < 0.05
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31459714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档