1

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

1 に答える 1