如何修改modelsummary(gt输出)表格列宽?如何查看变量列名称?
解决modelsummary+gt表格列宽度修改及列名查看问题
一、查看gt表格的真实列名
有两种简单方法可以获取gt表格内部的真实列名:
- 将gt对象转换为数据框,直接查看列名:
lm1 <- lm(dist ~ speed, data = cars) modsum <- modelsummary(lm1, output = "gt") # 转换为数据框后查看列名 as.data.frame(modsum)
- 读取gt对象的内部属性,直接获取所有列的变量名:
modsum$`_data`$`_boxhead`$var
二、修改变量列宽度的正确方法
如果指定列名报错,最稳妥的方式是通过列的位置索引设置宽度,无需纠结列名:
lm1 <- lm(dist ~ speed, data = cars) modsum <- modelsummary(lm1, output = "gt") %>% cols_width(1 ~ px(200)) # 1代表第一列(变量列)
如果确认真实列名后,也可以用列名设置,需要用!!sym()解析变量名:
# 先获取第一列的真实列名 real_colname <- modsum$`_data`$`_boxhead`$var[1] # 用真实列名设置宽度 modsum <- modsum %>% cols_width(!!sym(real_colname) ~ px(200))
针对你传入modelsummary_list对象的场景,同样可以用位置索引直接设置第一列宽度:
# 假设ms_list是你的modelsummary_list对象 modsum <- modelsummary(ms_list, output = "gt") %>% cols_width(1 ~ px(200))
内容的提问来源于stack exchange,提问作者Felix
相关产品推荐
相关产品推荐

