オフィサーを使用して、大きなテーブルである 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、幅 = 幅、高さ = 高さ、stringAsFactors = 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)
)
)
)
}