如何在R arsenal包tableby函数中补全行、列的缺失值统计项?
解决方案
arsenal包的tableby原生支持你需要的新增缺失值统计列的功能,不需要手动拼接计算结果,只需要调整控制参数即可。
你当前看不到Initial Level缺失对应的列,是因为tableby默认会排除公式右侧自变量的缺失值,你只要在tableby.control中新增includeNA = TRUE参数即可,该参数会自动将Initial Level的缺失值作为独立的分组列输出,自动计算每个Current Level分类下对应Initial Level缺失的计数和占比。
调整后可直接使用的代码
mycontrols <- tableby.control( test=FALSE, numeric.stats=c("Nmiss", "N", "mean", "median", "q1q3"), cat.stats=c("Nmiss2", "countpct"), stats.labels=list(N='Count', median='Median', q1q3='Q1,Q3'), includeNA = TRUE # 新增该参数,保留自变量缺失值作为独立分组 ) # 注意带空格的变量名需要用反引号包裹,否则运行会报错 summary(tableby(factor(`Current Level`)~`Initial Level`, data = 你的数据集名, control = mycontrols))
如果需要把默认生成的缺失列名从(Missing)改成你想要的N-Miss,直接修改summary输出结果的列名即可,最终输出结构和你预期的理想格式完全一致。
内容的提问来源于stack exchange,提问作者atirvine88
相关产品推荐
相关产品推荐

