【问题标题】:knitr Markdown LateX like table within HTML documentknitr Markdown LateX 类似于 HTML 文档中的表格
【发布时间】:2017-02-05 17:50:49
【问题描述】:

我想通过使用knitr markdown (.Rmd) 在 HTM 文档中生成“类似 LaTeX”的表格:

knitr::knit2html(input="D:/...Rmd", output="D:/...report.html")

这是一个例子。但是,如果我决定生成报告,则 LaTeX 表格将不正确:

library(xtable)

xtabl <- xtable(head(CO2))
print(xtabl, type="latex", include.rownames=FALSE)

以上给出:

正如这里建议的结果。这不是一个“类似 LaTeX”的表格!

xtabl <- xtable(head(CO2))
print.xtable(xtabl, type="html", include.rownames=FALSE)

编辑:

我所说的“类似 LaTeX”的表格是这样的:

【问题讨论】:

  • 看看rstudio.com/wp-content/uploads/2016/03/…,或者请告诉我们问题(和您的问题)究竟是什么
  • 尝试删除 type="latex" 参数,或者当您想要的输出是 HTML 时更改为 type="html"
  • 是的,我都试过了,“latex”和“html”都没有得到很好的结果。
  • 那么你想要的结果是什么?错误的结果是什么样的?
  • 试试其他包,比如ztable,和xtable很像,或者stargazer。

标签: html r knitr r-markdown


【解决方案1】:

R Markdown cheat sheet 提供了库 kable、xtable 和 stargazer 的可视化比较。 Stargazer 可能就是你要找的。​​p>

还可以查看htmlTable 包。

可以使用自定义 CSS 文件进行进一步自定义。

【讨论】:

    【解决方案2】:

    这是一个带有htmlTable 的基本表示例:

    ---
    title: "Untitled"
    author: "Author"
    date: "2/5/2017"
    output: html_document
    ---
    
    ```{r setup, include=FALSE}
    knitr::opts_chunk$set(echo = FALSE)
    ```
    
    ```{r}
    library(htmlTable)
    ```
    
    ```{r, results="asis"}
    tab = cbind.data.frame(
      sapply(iris[1:5 , sapply(iris, is.numeric)], function(x) sprintf("%1.1f", x)),
      Species=iris$Species[1:5]
      )
    
    htmlTable(tab, rnames=FALSE, align="rrrrr", align.header="rrrrr",
              css.cell = c(rep("padding-left: 5em", 4), "padding-left: 2em"))
    ```
    

    【讨论】:

    • 非常感谢,这已经足够了。虽然,我真的是指 LaTeX 类型设置等。
    【解决方案3】:

    我使用knitr::kable 来生成所需的表格。

    mydata <- data.frame(SrNo=c(1,2,3,4), websites=c("stackoverflow", "twitter", "facebook", "google"))
    knitr::kable(mydata)
    

    kable 函数接受 format 参数,其可能值为 latexhtml 等。有关详细信息,请参阅文档

    完整的 Markdown 文件

    ---
    title: "kable"
    author: "Imran Ali"
    date: "February 6, 2017"
    output: pdf_document
    ---
    
    ```{r setup, include=FALSE}
    knitr::opts_chunk$set(echo = TRUE)
    ```
    
    ```{r, echo=FALSE}
    mydata <- data.frame(SrNo=c(1,2,3,4), websites=c("stackoverflow", "twitter", "facebook", "google"))
    knitr::kable(mydata)
    ```
    

    【讨论】:

      猜你喜欢
      • 2019-02-04
      • 2019-04-14
      • 1970-01-01
      • 1970-01-01
      • 2014-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多