【问题标题】:R knitr - kable table html formatting for small textR knitr - 用于小文本的 kable 表格 html 格式
【发布时间】:2016-01-27 01:06:59
【问题描述】:

我正在尝试使用knitr::kable 将 R markdown 中的表格格式化(编译为 HTML),使其尽可能小。例如,也许通过使文本变小。然而,通过谷歌搜索,我已经弄清楚了如何控制这些单独的元素,但表格的大小保持不变。我认为它应该变得更小,因为元素需要更少的空间,但这并没有发生。

那么我还需要设置什么来使表格变小?

代码如下:

---
title: "kable table formating"
output: html_document
---
<STYLE TYPE="text/css">
<!--
  td{
    font-family: Arial; 
    font-size: 4pt;
    padding:0px;
    cellpadding="0";
    cellspacing="0"
  }
  th {
    font-family: Arial; 
    font-size: 4pt;
    height: 20px;
    font-weight: bold;
    text-align: right;
    background-color: #ccccff;
  }
  table { 
    border-spacing: 0px;
    border-collapse: collapse;
  }
--->
</STYLE>

```{r echo=T}
library(knitr,quietly=T)

n <- 14
m <- runif(n*n)
dim(m) = c(n,n)
df <- data.frame(m)
kable(df,padding=0)
```  

这是输出 - 显然我不需要所有的空格:

【问题讨论】:

  • this有帮助
  • @rawr,而不是单独的 CSS 文件,他将 CSS 包含在他的 rmarkdown 文件中。我实际上不认为它与填充有任何关系,而是与宽度有关。我的猜测是kable 默认的表格宽度为页面宽度的 100%。我不知道如何解决这个问题。
  • 没关系。是的,我愿意。您缺少 format = "html" 参数。您根本没有制作 HTML 表格,而是制作了一个无法识别填充参数的 markdown 表格。
  • 嗯。对我来说似乎是一个 html 表:)。我没有意识到有不同种类的桌子。所以我想我有两个选择,使用 html 表或 R-markdown 表。我想后者也适用于 PDF 等。
  • 这是一个微妙而微妙的区别。差点没听懂,玩这种玩意儿也不少。

标签: html r fonts html-table knitr


【解决方案1】:

您只需将format="html" 添加到您的kable 呼叫中即可。默认情况下,kable 为降价表生成代码(比较kable(df)kable(df, format = "html") 的结果

```{r echo=T}
library(knitr,quietly=T)

n <- 14
m <- runif(n*n)
dim(m) = c(n,n)
df <- data.frame(m)
kable(df, format = "html", pad=0)
```

这给了你这个:

【讨论】:

  • 是的,做到了。非常感谢,不知道我是怎么找到的。
  • 添加了结果显示,这样您就可以看到它有多好。
猜你喜欢
  • 2017-01-08
  • 2020-11-24
  • 1970-01-01
  • 2019-04-08
  • 2021-05-29
  • 2019-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多