【问题标题】:Can three separate data.frames be aligned in htmlTable and RMarkdown?在 htmlTable 和 RMarkdown 中可以对齐三个单独的 data.frames 吗?
【发布时间】:2017-04-02 08:52:16
【问题描述】:

我正在使用 .html 格式的 RMarkdown 生成数据和报告。我现在希望在 .html 文档中创建三个单独的表,但不确定是否可以创建这些表。我的data.frame 由不同位置和服务角色的通话记录组成。时间量(持续时间,以分钟为单位)也被记录下来。但是,我有许多工人的数据,因此希望按每个工人的 ID 进行子集化。

我可以像这样在 Excel 中创建一行三个(子集、不同的 data.frames)吗?

我的 data.set 是敏感的,所以这里是一个使用 R 的内置数据集和我的 RMarkdown 代码的示例。

---
title: <center> <h1>Call Centre Report</h1> </center>
output:
 html_document
---

```{r echo=FALSE}
library("htmlTable")
htmlTable(subset(mtcars, gear=="4"),
          header =  paste(c("mpg", "cyl",
                            "disp", "hp", "drat",
                            "wt", "qsec", "vs", "am", "gear", "carb")))
```

```{r echo=FALSE}
library("htmlTable")
htmlTable(subset(iris, Species=="setosa"),
          align="rrrr|r",
          header =  paste(c("Sepal Length", "Sepal Width",
                            "Petal Length", "Petal Width", "Species")))
```

```{r echo=FALSE}
library("htmlTable")
htmlTable(subset(chickwts, feed=="horsebean"),
          align="r|r",
          header =  paste(c("Weight", "Feed")))
```

谢谢。

【问题讨论】:

  • 您可以在 RMarkdown 中对表进行子集化,就像在 R 中对表进行子集化一样。有多种方法可以进行子集化,因此您只需选择最适合您的一种。
  • 解决了子集问题,我提供了一个示例。请参阅我关于多个但对齐的表格的更新问题。
  • 所以这个问题是关于 Rmarkdown 中的并排表格,而不是 subset,对吧?或许你应该换个话题。
  • 我知道不是@​​987654328@,但如果您愿意使用其他表格格式化功能,也许这会有所帮助:stackoverflow.com/questions/38036680/…

标签: r r-markdown


【解决方案1】:

您可以使用以下样式创建一个div元素&lt;div style="display:flex; justify-content: space-between;"&gt;

---
title: <center> <h1>Call Centre Report</h1> </center>
output:
 html_document
---
<div style="display:flex; justify-content: space-between;">
```{r echo=FALSE}
library("htmlTable")
htmlTable(subset(mtcars, gear=="4"),
          rnames = FALSE,
          header =  paste(c("mpg", "cyl",
                            "disp", "hp", "drat",
                            "wt", "qsec", "vs", "am", "gear", "carb")))
```

```{r echo=FALSE}
library("htmlTable")
htmlTable(subset(iris, Species=="setosa"),
          align="rrrr|r",
          rnames = FALSE,
          header =  paste(c("Sepal Length", "Sepal Width",
                            "Petal Length", "Petal Width", "Species")))
```
```{r echo=FALSE}
library("htmlTable")
htmlTable(subset(chickwts, feed=="horsebean"),
          rnames = FALSE,
          align="r|r",
           header =  paste(c("Weight", "Feed")))
```
</div>

【讨论】:

  • 感谢您的回答,尽管这只会在垂直堆叠的表格之间创建一个空间,这不是我想要的。
  • 你在使用 RStudio 吗?您是否尝试在 chrome 之类的浏览器上打开 html 文档?
  • 我使用的是 RStudio,在 Chrome 中工作得很好!但是,有没有办法减少表之间的空间?
  • 你可以使用&lt;div style="display:flex; justify-content: flex-start;"&gt;,但是所有的表格都会并排放置,没有空格。
猜你喜欢
  • 1970-01-01
  • 2020-08-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-10
  • 2017-09-19
  • 2019-04-24
  • 1970-01-01
相关资源
最近更新 更多