I have the following table created using the flextable
package in R.
library(tidyverse)
library(flextable)
data <- structure(list(Category = structure(1:2, levels = c("Baseline",
"Alternate"), class = "factor"), `2022 Q2` = c("6%", "6.4%"),
`2022 Q3` = c("6.5%", "6.7%"), `2022 Q4` = c("6.4%", "6.6%"
), `2023 Q1` = c("5.7%", "5.5%"), `2023 Q2` = c("4.5%", "4.8%"
), `2023 Q3` = c("4.2%", "4.7%"), `2023 Q4` = c("4%", "4.6%"
)), row.names = c(NA, -2L), class = c("tbl_df", "tbl", "data.frame"
))
data %>%
flextable() %>%
align(j = 2:8, align = "center")
Instead of manually choosing which columns to align (j = 2:8
in this case), I would like to dynamically select all the columns from the second to the last column. I have tried align(j = 2:n(), align = "center")
similar to how I would do it in dplyr
, however that isn't possible in flextable
notation. Any suggestions?
CodePudding user response:
Using ncol()
you could do:
library(dplyr)
library(flextable)
data %>%
flextable() %>%
align(j = 2:ncol(data), align = "center")