使用gt_summary按phase生成分类变量汇总表时遇报错求助
解决gt_summary生成分组汇总表的报错问题
核心问题:语法误用
你在代码里错误地同时使用了管道符%>%和重复传入数据集参数。管道符已经自动把tbl1传递给tbl_summary()作为第一个输入,不需要在函数内再次写tbl1。
错误代码
tbl1 %>% tbl_summary(tbl1, by = phase, type = all_categorical() ~ "categorical", missing = "no" )
修正后代码
tbl1 %>% tbl_summary(by = phase, type = all_categorical() ~ "categorical", missing = "no" )
额外注意:分组变量单一水平
你提供的示例数据中phase列全为"BEFORE",仅存在一个分组水平。如果实际业务场景中phase确实只有这一个分组,建议移除by = phase参数,生成整体汇总表:
tbl1 %>% tbl_summary(type = all_categorical() ~ "categorical", missing = "no" )
如果实际数据中phase包含多个水平,修正后的代码即可正常生成分组统计的汇总表。
补充验证
用修正后的代码运行你提供的示例数据,可正常输出汇总结果。若实际数据仍有异常,检查变量类型是否正确(比如分类变量是否被误识别为数值型),可通过dplyr::mutate(col1 = factor(col1))这类代码手动转换变量类型后重试。
内容的提问来源于stack exchange,提问作者Levi M
相关产品推荐
相关产品推荐

