如何调整FlexTable的行顺序?将指定行移至末尾的方法咨询
控制FlexTable的行顺序
要调整FlexTable中的行顺序,核心是先调整输入数据框的行顺序,再生成表格,以下是具体实现方法:
步骤1:定义目标行顺序
先把你期望的行顺序写成字符向量,明确指定每一行的位置:
target_order <- c( "Central Hospital", "Military Hospital", "Port Hospital", "St. Mark's Maternity Hospital (SMMH)", "Other", "Missing", "Total" )
步骤2:调整数据框的行顺序
将数据框中用来分组的列(比如医院名称列)转换为因子,并指定levels为上面定义的目标顺序,再按该列排序:
library(dplyr) # 假设你的数据框为df,分组列名为hospital df <- df %>% mutate(hospital = factor(hospital, levels = target_order)) %>% arrange(hospital)
步骤3:生成FlexTable
基于调整好顺序的数据框生成表格,行顺序就会完全符合预期:
library(flextable) flextable(df)
补充说明
- 如果
Total是汇总行,只需在target_order中将它放在最后,就能确保它处于表格末尾。 - FlexTable的行顺序完全依赖输入数据框的行顺序,只要数据框行序正确,表格行序就会对应匹配。
内容的提问来源于stack exchange,提问作者Andrey
相关产品推荐
相关产品推荐

