如何修改gt表格中的行名称?含Stub行标签修改方法问询
修改gt表格中行名称(Stub标签)的方法
针对你的需求,有两种常用方法可以修改gt表格里的行名称(尤其是作为stub的行标签):
方法1:先修改原始数据框
在生成gt表格之前,直接修改数据框里的name列对应值,简单直接:
library(tibble) library(gt) islands_tbl <- tibble( name = names(islands), size = islands ) |> arrange(desc(size)) |> slice(1:10) # 批量修改指定行的名称 islands_tbl_modified <- islands_tbl |> mutate( name = case_when( name == "Europe" ~ "Europa", name == "Antarctica" ~ "A really cold place.", # 其他行保持原名称 TRUE ~ name ) ) # 生成带自定义行标签的gt表格 islands_tbl_modified |> gt(rowname_col = "name")
方法2:用gt的rows_label()函数(类似cols_label()的行版)
如果不想改动原始数据,gt提供了rows_label()函数,专门用来修改stub中的行标签,用法和cols_label()类似:
library(tibble) library(gt) islands_tbl <- tibble( name = names(islands), size = islands ) |> arrange(desc(size)) |> slice(1:10) gt_tbl <- islands_tbl |> gt(rowname_col = "name") |> # 单独修改某一行 rows_label( rows = name == "Europe", label = "Europa" ) |> # 再修改另一行 rows_label( rows = name == "Antarctica", label = "A really cold place." ) # 查看结果 gt_tbl
也可以一次性批量修改多行:
gt_tbl <- islands_tbl |> gt(rowname_col = "name") |> rows_label( rows = c("Europe", "Antarctica"), label = c("Europa", "A really cold place.") )
注意事项
rows参数用来定位目标行,可以用逻辑条件(比如name == "Europe"),也可以直接传入行名称的向量;label参数的数量必须和rows选中的行数一致,顺序要对应。
内容的提问来源于stack exchange,提问作者Bryan P Mayfield
相关产品推荐
相关产品推荐

