【问题标题】:insert space after each flextable in r (Rmd)在 r (Rmd) 中的每个 flextable 之后插入空格
【发布时间】:2022-04-07 13:12:19
【问题描述】:

我有这个问题:

问题:

我在同一个 r 块中有多个 flextable 对象:

mtcars %>% 
  select(1:3) %>% 
  head() %>% 
  flextable()

mtcars %>% 
  select(1:3) %>% 
  head() %>% 
  flextable()

但是当我在officedown::rdocx_document 中编织 Rmd 时,表格看起来像这样粘在一起: 这是一个问题,因为粘贴多个表格会更改以下表格的大小,并且 Word 会将其视为单个大表格。所以我设法以这种方式解决它:

library(tidyverse)
library(flextable)
library(officer)
library(officedown)

mtcars %>% 
  select(1:3) %>% 
  head() %>% 
  flextable()

officer::run_linebreak()

mtcars %>% 
  select(1:3) %>% 
  head() %>% 
  flextable()

现在表格之间有一行或 Enter。所以我想知道的是将这两个功能合二为一,这样我就不必使用两个不同的功能。像这样的东西:

mtcars %>% 
  select(1:3) %>% 
  head() %>% 
  table_and_enter()

mtcars %>% 
  select(1:3) %>% 
  head() %>% 
  table_and_enter()

我真正想要的是表格之间的空间,所以如果您找到更有效的方法,请随时提出建议。

目的:

  • 在每个 flextable 对象之后插入一行(Enter),并带有一行代码。

尝试:

  • 显然,即使您多次使用 return(),r 中的函数也无法检索对象和函数。

谢谢。

【问题讨论】:

  • 提供文本而不是图像有助于更快地从社区获得推荐
  • 当我在顶部代码块中运行代码时,我得到两个单独的表,并且输出中没有垂直线。 return 函数也不是回车。它旨在将值从函数内部发送到调用环境。

标签: r tidyverse flextable officer officedown


【解决方案1】:

如果您希望 return() 从一个函数返回多个对象,您可以将这些对象放在一个列表中并返回该列表。


my_fun <- function(x, y){
  x = x+1
  y = x*y
  
  the_list <- list(x, y)
  
  return(the_list)
}

my_fun(3, 4)

【讨论】:

  • 感谢 kpress 的回复。它不是我正在寻找的,因为当我使用您建议的解决方案编织我的 officedown 文档时,它看起来像这样: [[1]] [[2]] list() attr(,"class") [1] "run_linebreak" "跑”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-02
  • 1970-01-01
相关资源
最近更新 更多