我正在使用Officer 创建一个Word 文档,它是一个大表格。我想在这个表中插入一些图像。为此,我正在使用 flextable。以下代码将图像插入到弹性表中。
pupil.tbl <- tribble(
~col1, ~col2,
paste("Name:", pupil$name), paste("Class:", pupil.class),
"attendance_graph", "boxall_graph"
)
# add attendance plot
pupil.ft <- flextable(as.data.frame(pupil.tbl))
pupil.ft <- display(
pupil.ft, i=2, col_key = "col1", pattern = "{{att_tbl}}",
formatters = list(
att_tbl ~ as_image(
col1,
src = "attendance.png",
width = 3.3,
height = 1.65)
)
)
)
这很好用,但我有很多图像要添加,所以我想我会把它抽象成一个函数。但是,当我尝试这样做时,我得到:
data.frame 中的错误(image_src = src,width = width,height = height,stringsAsFactors = FALSE):找不到对象“image_file”
这是函数和对函数的调用(目前它对除图像路径之外的所有内容使用全局变量)
pupil.ft <- add_img_to_flextable("attendance.png")
add_img_to_flextable <- function(image_file){
return(
display(
pupil.ft, i=2, col_key = "col2", pattern = "{{att_tbl}}",
formatters = list(
att_tbl ~ as_image(
col1,
src = image_file,
width = 3.3,
height = 1.65)
)
)
)
}