嗨,我正在尝试flextable
在 Rmarkdown .doc 文档中使用来格式化我的表格。我喜欢flextable
提供(但对其他类似包开放)的简单格式选项,但发现我认为应该是基本功能的东西并不总是有效。
我想让表格适合 word 文档的宽度,以便如果需要的文本将在一列内换行以适应,但如果页面上有可用空间,列将变宽,但不会达到该列的程度太宽以至于没有显示所有数据。
我在下面做了一个例子来说明我的问题。默认情况下,所有列都具有相同的宽度,并且文本会被换行以适应,但因此会浪费空间。我想将列拟合到数据中(使用autofit
),但这会使列如此宽以至于它们从屏幕上消失。我希望使用mpg
,vs
和carb
更广泛的快乐媒体,但仍在发生一些文本换行。例如我想要这个:
显然我可以手动更改宽度,flextable::width
但我的表格是通过自动化过程制作的,所以我不知道我希望每列有多宽。
这是我的示例,它显示了 with 或 eithout 的问题 autofit
---
title: "TestTable"
output: word_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
suppressWarnings(suppressPackageStartupMessages({library(knitr)
library(pander)
library(flextable)
library(tidyverse)
library(flextable)}))
```
## Normal Table
Without extra formatting, wraps text so that it fits on the page, but there is no need for column widths to be equal and could be wider on the page …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用该程序包flextable
在Rmarkdown中获取一些格式正确的表(转到Word文件)。这些表通常工作正常,但是如果我将其放在if语句中,则如果if语句中还有其他内容在打印,则看不到该表。有什么想法吗?
我的例子(一起运行):
---
title: "Testing"
output:
word_document:
reference_docx: styles.docx
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
## R Markdown
```{r defaults}
library(pander)
library(knitr)
library(flextable)
```
Run Code Online (Sandbox Code Playgroud)
第一个测试工作正常-否if语句和表两边的新行
## test 1 table no if statemnets
```{r test1, echo = FALSE, results = 'asis'}
test <- data.frame (c = 1:5, x = 6:10)
testft <- flextable(test)
testft
```
Run Code Online (Sandbox Code Playgroud)
第二个测试有一个if语句,没有其他文本,可以正常工作
## test 2 if statement no other text
```{r test2, echo = FALSE, results = 'asis'}
RunTable <- TRUE
if(RunTable){
testft …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用uiBinder设置flextable.我正在使用GWT 2.4,我知道如何做一个flextable,但不是uiBinder.我发现了这个问题:如何在UiBinder中为GUI Web Toolkit添加行添加行?被问到了SO,但没有关于如何做到这一点的例子.
因此,如果我将小部件声明为:
@UiBinder FlexTable flexTable;
Run Code Online (Sandbox Code Playgroud)
如何使用uiBinder初始化一个空行,该行包含两列和一个用@UiConstructor或(provider = true)命名列的标题行?
我正在尝试使用 flextable 制作一个漂亮的表格,该表格可以编织成单词,并带有描述性横幅/标题
示例数据:
trialdata<-structure(list(` ` = c("Number per team", "Average height", "vegetarian",
"meat", "carrot", "cucumber", "orange",
"banana", "pepper", "tangerine", "Average Score",
"Range Score", "Number of children", "Number of parents",
"Number of grandparents"), `year 1` = c("20", "2",
"25", "12", "4", "7",
"7", "37", "21", "3",
"-0.3", "78 : 1", "61", "19",
"39"), `Year 2` = c("98", "28.2", "23",
"1", "8", "6", "1",
"36", "2", "29", "-0.2", "3 : 2",
"6", "18", "9"), `Year 3` = c("88",
"28.2", "24", "1", …
Run Code Online (Sandbox Code Playgroud) 我有很多表要创建,并且正在尝试在循环中创建它们。我在 rstudio 中使用带有 rmarkdown 的 flextable。print(theFlextable)
在循环中使用命令会生成文本列表而不是表格。这发生在 docx 和 html 输出类型上。如果我不使用循环 flextable 会正确呈现。这是一个演示:
---
title: "Demo"
output: word_document
---
```{r setup, include=FALSE}
library(flextable)
```
## This Works
```{r iris, echo=F, message=F, error=F, results='asis'}
ft<-flextable(iris[1:10,])
ft
```
## This produces no output
```{r echo=F, message=F, error=F, results='asis'}
doThese<-c("setosa","virginica")
for (i in doThese){
tbl<-subset(iris, Species==i)
ft<-flextable(tbl[1:10,])
ft
}
```
## This produces incorrect output
```{r echo=F, message=F, error=F, results='asis'}
doThese<-c("setosa","virginica")
for (i in doThese){
tbl<-subset(iris, Species==i)
ft<-flextable(tbl[1:10,])
print(ft)
cat("\n\n")
}
``` …
Run Code Online (Sandbox Code Playgroud) 如何使表格交叉引用在具有所有输出格式 pdf、docx 和 html 的 bookdown 文档中起作用?或者更具体地说,我怎样才能获得表格交叉引用flextables
?
下面是一个最小的工作示例。第二个表,使用kable()
,让我几乎一直到那里。问题是 docx 输出中的表格渲染完全无法使用(不是在这个 MWE 中,而是在我的实际用例中)。我考虑有条件地创建表格,flextable
用于 docx 输出以及kable
pdf 和 html 输出。flextable
在 docx 输出中看起来不错。但是表引用不起作用!
---
title: "A Book"
author: "Frida Gomam"
site: bookdown::bookdown_site
documentclass: book
output:
bookdown::word_document2: default
bookdown::pdf_book: default
bookdown::gitbook: default
---
# Hello World
```{r setup, include=FALSE}
library(dplyr)
library(flextable)
```
<!--- this tabulates in docx and html output --->
```{r, test01, echo = FALSE, eval = !knitr::is_latex_output()}
mtcars %>%
head() %>%
flextable() %>% …
Run Code Online (Sandbox Code Playgroud) 我能得到的最接近的 flextable 是这样的:
我想要实现的是这样的 - 用 ggplot2 实现:
有任何想法吗?或者这是一个功能请求?
用于生成弹性表的代码:
library(tibble)
library(flextable)
tib <- tibble(v1 = letters[1:4],
v2 = c(1, 3, 5, 2))
tib %>%
flextable()%>%
width(j = 1:2, width = c(0.5, 1.5)) %>%
mk_par(j = 2,
value = as_paragraph(as_chunk(v2, formater = function(x) sprintf("%.0f", x)),
" ",
minibar(value = v2, max = sum(v2))
),
part = "body")
Run Code Online (Sandbox Code Playgroud) 我在哪里可以找到FlexTable 的UiBinder模板?
我正在使用Google Web Toolkit(GWT).
我喜欢 David Gohel 的 Office 和 Flextable 包,它们确实是编写具有复杂布局的 Word 文档报告的灵活替代方案,而这在 R markdown 中是无法实现的。
我已经使用officer为段落和表格创建了自定义样式,但现在我使用flextable来自定义单个单元格的格式,尽管它们似乎总是采用arial字体,无论word文档中的字体(calibri)如何。
flextable 使用的 word 文档中是否有特定的样式,或者是否有修改字体的命令。
到目前为止,我最接近的答案是 options("ReporteRs-default-font" = "Arial") 函数。官员或弹性人员是否有等效的命令?
非常感谢您的指导。
我正在尝试将Word样式(表格或段落)应用于灵活对象.我的动机是找到一种方法来阻止flextable通过knitr输出到Word .docx文档时在分页符处分割行.例如,在下面的代码中,我试图将"Table of Figures"段落样式应用于R markdown中的flextable:
---
title: " "
output:
word_document: default
---
<div custom-style = "Table of Figures">
```{r, echo = F, message = F}
library(flextable)
library(magrittr)
head(cars) %>%
regulartable
```
</div>
Run Code Online (Sandbox Code Playgroud)
但是,这似乎不起作用.有谁知道如何将表格和/或段落样式应用于flextable对象?