如何在R的gt包中修改列名并为指定内容添加括号
解决方法
方案1:提前修改原始数据框列名(推荐,逻辑更清晰)
直接对要传入gt的数据集做列名批量替换,用正则匹配下划线加rs号的结构,替换为括号包裹的格式,完整代码如下:
# 先批量处理列名 pgx_rs_clean <- pgx_rs %>% rename_with(~ gsub("_(rs\\d+)", "(\\1)", .x)) # 再构建gt表格 table1_pgx <- pgx_rs_clean %>% gt() %>% tab_header( title = md("pgx") )
如果只有单列需要修改,也可以直接单独重命名:
pgx_rs_clean <- pgx_rs %>% rename(`grp35(rs12468485)` = grp35_rs12468485)
方案2:直接在gt流程内修改列标签(不改动原始数据)
如果不想修改原始数据集,可直接调用gt的cols_label()函数实现批量修改:
table1_pgx <- pgx_rs %>% gt() %>% # 批量替换列标签格式 cols_label(.fn = ~ gsub("_(rs\\d+)", "(\\1)", .x)) %>% tab_header( title = md("pgx") )
如果只有单列需要调整,也可以单独指定:
table1_pgx <- pgx_rs %>% gt() %>% cols_label( grp35_rs12468485 = "grp35(rs12468485)" ) %>% tab_header( title = md("pgx") )
内容的提问来源于stack exchange,提问作者ecbernsen
相关产品推荐
相关产品推荐

