【问题标题】:stargazer left align LaTeX table columnsstargazer 左对齐 LaTeX 表格列
【发布时间】:2014-11-06 07:06:57
【问题描述】:

stargazer 自动在表格中将值居中。 如何左对齐列?

把这段代码放在一个.Rnw文件中,然后用knitr转换成.tex:

<<load, echo=FALSE, warning=FALSE, message=FALSE>>=
opts_chunk$set(eval=TRUE, echo=FALSE, warning=FALSE, message=FALSE, dpi=300)
@


\documentclass[a4paper,11pt]{article}
\usepackage{lipsum} % Required to insert dummy text

\begin{document}
\title{}
\author{}
\date{\today}
\maketitle

\section{Header}

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

<<iris, results = "asis">>=
library(stargazer)
stargazer(iris[1:10,4:5], summary  = FALSE)
@

\end{document}

这是 PDF 输出:

【问题讨论】:

  • 快速而肮脏的方法是使用正则表达式在\begin{tabular}中找到ccc字符串并将其更改为lcc。
  • 这么简单的表,为什么要坚持使用stargazer?您可能有更多选项来微调 LaTeX 表,例如xtable.

标签: r latex knitr stargazer


【解决方案1】:

正如 cmets 中所指出的,您可以对 stargazer 的输出进行后处理,也可以使用 xtable。我将演示这两种方法。

  1. 后处理:将你的代码卡盘替换为以下两个代码块

    <<echo=FALSE, results=hide>>=
    library(stargazer)
    tab <- stargazer(iris[1:10,4:5], summary  = FALSE) 
    @
    
    <<results=tex, echo=FALSE>>=
    collapse <- function(st) paste(st, collapse="")
    st <- gsub(collapse(rep("c", 3)), collapse(rep("l",3)), tab)
    cat(st[4:24])
    @
    
  2. xtable:安装xtable 包后,您可以将其用作您的代码夹

    <<iris, results="asis", echo=FALSE>>=
    library(xtable)
    print(xtable(iris[1:10,4:5], align="lll", caption=""))
    @
    

我认为 xtable 方法可能更简单

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-07
    • 2021-11-21
    • 2011-04-01
    • 1970-01-01
    • 2015-09-03
    • 2012-02-24
    • 1970-01-01
    • 2020-12-14
    相关资源
    最近更新 更多