生物信息学R学习R语言做生信

officer、flextable包生成word报告

2018-06-23  本文已影响6人  quan575

officer是一个生成(处理)Word(docx)和PowerPoint(pptx)的R包。与ReportRs包相比速度要更快,依赖包也更少(好像也是这个作者写的,但是ReportRs要依赖于rjava,不便维护),常结合flextable包(生成表格),mschart包(生成office图表),rvg(结合ggplot2生成动态图表)。

word文档主要函数分类

1.添加内容作为段落:图像,表格,文字。使用body_add_*功能

示例

library(officer)
library(magrittr) # Package `magrittr` makes officer usage easier.
library(ggplot2)

my_doc <- read_docx()  #初始化一个docx , 里面不填路径使用默认模板
styles_info(my_doc)  #显示信息

gg <- ggplot(data = iris, aes(Sepal.Length, Petal.Length)) + 
    geom_point()

  my_doc %>%   #可以使用magrittr方式一步步添加
    body_add_par(value = "Table of content", style = "heading 1") %>% 
    body_add_toc(level = 2) %>% 
    body_add_break() %>% 

    body_add_par(value = "dataset iris", style = "heading 2") %>% 
    body_add_table(value = head(iris), style = "table_template" ) %>% 

    body_add_par(value = "plot examples", style = "heading 1") %>% 
    body_add_gg(value = gg, style = "centered" ) %>% 

    print(target = "body_add_demo.docx")
输出结果

相关网站

上一篇 下一篇

猜你喜欢

热点阅读