rlapplyr-flextable

How to use set_caption with flextables in lapply


I have the following list of flextables

mini = list(airquality, mtcars)

I am wondering how to assign titles to them via lapply (I already know how to do this via for loop)

I have tried something like

titles = c('airquality', 'mtcars')
i = 1:2
lapply(mini, function(x) x %>% flextable() %>% set_caption(titles[i]))

However, it does not seem to work fine. How could I assign properly titles via lapply?


Solution

  • Similiar to a for loop you could loop over an index vector when using lapply like so:

    mini <- list(airquality, mtcars)
    
    titles <- c("airquality", "mtcars")
    
    library(flextable)
    
    lapply(
      seq_along(mini),
      function(x) {
        mini[[x]] %>%
          flextable() %>%
          set_caption(titles[[x]])
      }
    )