首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将MCMC诊断转换为Latex表?

如何将MCMC诊断转换为Latex表?
EN

Stack Overflow用户
提问于 2016-04-13 10:20:11
回答 2查看 497关注 0票数 2

我正在使用coda包来计算我的MCMC的汇总统计信息。但是,似乎没有将打印的摘要转换为Latex表的选项。我尝试过stargazer,并将summary.mcmc结果转换为数据帧。两次尝试都失败了。

下面是一个可重复使用的示例:

代码语言:javascript
复制
library(coda)
mock_mcmc <- mcmc(rnorm(1000))
summary(mock_mcmc)

summary.mcmc将打印出来

代码语言:javascript
复制
1. Empirical mean and standard deviation for each variable,
   plus standard error of the mean:

          Mean             SD       Naive SE Time-series SE 
       0.03180        0.98715        0.03122        0.03368 

2. Quantiles for each variable:

    2.5%      25%      50%      75%    97.5% 
-1.89794 -0.65289  0.02952  0.67396  1.97158 

如何将结果表输出到Latex文件中?我知道可以手工计算汇总统计数据,但我很好奇是否有一个我不知道的方便的尾部特性。

EN

回答 2

Stack Overflow用户

发布于 2016-04-13 12:02:35

我不知道是否有一种方法可以用尾巴来实现。下面的方法通过将对象转换为数据帧,然后重新运行xtable,为mcmc对象定义了xtable的方法。

代码语言:javascript
复制
library(coda)
library(dplyr)
library(magrittr)
library(xtable)

xtable.summary.mcmc = function(x, ...)
  x %>%
  use_series(statistics) %>%
  c(x %>%
      use_series(quantiles) ) %>%
  as.list %>%
  dplyr::as_data_frame() %>%
  xtable(...)

1000 %>% 
  rnorm %>% 
  mcmc %>% 
  summary %>%
  xtable                    
票数 0
EN

Stack Overflow用户

发布于 2016-04-13 21:58:04

关键是从输出中提取相关的数量。要找到合适的数量,请使用R中的names()函数。

代码语言:javascript
复制
library(coda)
library(xtable)

mock_mcmc = mcmc(rnorm(1000))
s = summary(mock_mcmc)

stats_table = xtable(as.data.frame(t(s$statistics)))
quant_table = xtable(as.data.frame(t(s$quantiles)))

print(stats_table, file="stats_table.tex")
print(quant_table, file="quant_table.tex")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36587403

复制
相关文章

相似问题

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