При использовании flextable в R, как добавить вертикальную черту между ячейками, если обе используются в слиянии
Я пытаюсь использовать две переменные для группировки данных: Country и State_Province. Я хочу использовать 'flextable' в R, чтобы сделать это, и я также хочу, чтобы две переменные были рядом друг с другом в итоговой таблице, разделенной вертикальной чертой.
Однако использование merge_v избавляет от вертикальной черты, и я не могу понять, как добавить ее обратно.
Вот небольшой воспроизводимый пример:
library(flextable)
library(dplyr)
big_border = fp_border(color="#2c3a51" , width = 2)
std_border = fp_border(color="#2c3a51" , width = 1)
df <- data.frame(Country = c("US", "US", "US", "Canada", "Canada", "Canada"),
State_Province = c("CA", "CA", "NY", "Quebec", "Quebec", "Alberta"),
data = LETTERS[1:6])
df %>%
flextable() %>%
vline( border = std_border, part = "all" ) %>%
border_outer(part="all", border = big_border ) %>%
merge_v(j = c("Country", "State_Province") )
Вместо этого я добавил серператор и удалил его перед презентациями.
myft <- df %>%
flextable(., col_keys = c("Country", "separator", "State_Province", "data"))
myft <- border(myft, j = ~ separator, border = fp_border(width=0), part = "all")
myft <- width(myft, j = ~ separator, width = 0)
myft %>%
merge_v(j = c("Country") ) %>%
vline( border = std_border, part = "all" ) %>%
border_outer(part="all", border = big_border ) %>%
merge_v(j = c("State_Province") )