关于datasummary_correlation移除前导零的技术问询
解决datasummary_correlation移除相关系数前导零的问题
问题原因
datasummary_correlation函数内部默认会调用modelsummary::fmt_number()对数值进行格式化,该函数默认会移除0到1之间数值的前导零(比如将-0.85转为-.85)。即便你通过自定义method返回了带前导零的字符串,它仍会尝试将字符串转换为数值后重新格式化,导致前导零丢失。
解决方案
在调用datasummary_correlation时添加fmt = NULL参数,跳过内部的格式化步骤,直接使用你自定义函数返回的字符串格式:
datasummary_correlation( mtcars %>% select(mpg, cyl, disp), method = fun, fmt = NULL)
验证说明
你的fun函数返回的矩阵已经包含正确格式的相关系数(比如"-0.85***"),设置fmt = NULL后,datasummary_correlation会直接渲染这些字符串,不再做额外的格式化处理,从而保留前导零。
内容的提问来源于stack exchange,提问作者robertspierre
相关产品推荐
相关产品推荐

