最近EXPORT包从CRAN下架了。虽然还是可以下载到旧版本进行本地安装。但是在实际出图的时候很可能报错:
Error: 'ph_with_vg_at' is defunct.
Use 'officer::ph_with' instead.
See help("Defunct")
原因是EXPORT的依赖包RVG在更新后,把函数ph_with_vg_at给去掉了。想要继续使用,方法有:
- 将RVG包降级
- 修改EXPORT包中相应的函数
这两种方法的教程网上都已经有大神给出了。这里给出第三种方法
使用officer包和rvg包导出图片到PPT
EXPORT包其实是使用了officer包和rvg包来实现图片导出到ppt的,既然如此,那么直接使用这两个包也能实现相同功能,具体代码如下:
###########################################################
##
## ggplot导出到PPT
## ---------------------------------------------
## Cdudu 2020.5.21
##
##########################################################
library(rvg)
library(officer)
library(magrittr)
library(ggplot2)
#本代码只适用于ggplot出的图,base出图需要修改代码
#首先用ggplot画一张图,这部分就不在这里展示了。将图片保存在变量p中
#将p转换成矢量图
p1 <- dml(ggobj = p)
#导出到PPT
doc <- read_pptx() %>%
add_slide(layout = "Title and Content", master = "Office Theme") %>%
ph_with(value = p1, location = ph_location("body", left = 1, top = 1, width = 5, height = 5)) %>%
print(target = "example.pptx")
代码其实非常简单,当然这段代码只适用于ggplot2画的图。如果使用baseR画图,则需要将dml()中的参数进行修改。此外,这段代码只能实现EXPORT中图片导出到PPT的功能,EXPORT的其他功能,例如导出到word,就无能为力啦。