使用Package Officer和flextable显示多个表 [英] Displaying multiple tables using Package officer and flextable

查看:143
本文介绍了使用Package Officer和flextable显示多个表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道是否可能使用flextableofficer以HTML格式(在一页上)显示多个flextable吗?

I was wondering if it might be possible to display more than one flextable in the HTML format (on a single page) using flextable and officer?

 library('flextable')
 library('officer')

dat1 <- data.frame(Approaches = c("Y", "Y", "N"), Meets = c("N", "Y", "N"), row.names = c("Read", "Math", "Sci."))
dat2 <- data.frame(Read = "Y", Math = "N")

def_par <- fp_par(text.align = "center")
def_txt <- fp_text(bold = TRUE)


ft <- flextable(dat1, cwidth = c(3.2, 3.2))      # Table #1

ft <- style(ft, pr_p = def_par, part = "all")
ft <- style(ft, pr_t = def_txt, part = "header")

tit <- c("Domain 1 and Domain 2B", "Domain 2A")

ft <- set_caption(ft, tit[1])

ft <- add_footer_lines(ft, values = "") # add a line break

flextable(dat2, cwidth = c(3.2, 3.2))            # Table #2

推荐答案

在rmarkdown文档中可以轻松完成

It can be done easily in a rmarkdown document

---
title: "test"
author: "akrun"
date: "12/18/2019"
output: html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library('officer')
library(flextable)

```


```{r echo=FALSE, results='asis'}
library(htmltools)
dat1 <- data.frame(Approaches = c("Y", "Y", "N"), Meets = c("N", "Y", "N"), row.names = c("Read", "Math", "Sci."))
dat2 <- data.frame(Read = "Y", Math = "N")

def_par <- fp_par(text.align = "center")
def_txt <- fp_text(bold = TRUE)


ft <- flextable(dat1, cwidth = c(3.2, 3.2))      # Table #1

ft <- style(ft, pr_p = def_par, part = "all")
ft <- style(ft, pr_t = def_txt, part = "header")

tit <- c("Domain 1 and Domain 2B", "Domain 2A")

ft <- set_caption(ft, tit[1])

ft <- add_footer_lines(ft, values = "") # 
ft

```


```{r echo=FALSE, results='asis'}
ft2 <- flextable(dat2, cwidth = c(3.2, 3.2)) 
ft2 <- style(ft2, pr_p = def_par, part = "all")
ft2 <- style(ft2, pr_t = def_txt, part = "header")

tit <- c("Read", "Math")
ft2 <- set_caption(ft2, tit[1])
ft2 <- add_footer_lines(ft2, values = "") # 
ft2
```

-输出

R studio中,首先创建一个markdown文档(文件->新文件-> R markdown ..),

In R studio, first create a markdown document (File -> New File -> R markdown ..),

将上面的代码粘贴到文档中,将其保存在文件/文件夹中,然后单击knit

Paste the above code in the document, save it in a file/folder and then click on knit

这篇关于使用Package Officer和flextable显示多个表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆