无法从skimr输出中移除直方图,代码执行报错求助
问题原因
你写的skim_with(numeric = sfl(hist=NULL))触发报错的核心原因是:
sfl()(skim_function_list)默认参数.keep_defaults=FALSE,当你仅指定hist=NULL时,生成的数值型skim函数列表仅包含一个NULL元素,没有保留均值、中位数等默认统计函数。dplyr::across要求传入的函数必须是有效函数、公式或函数列表,无法处理NULL值,因此抛出.fns must be a function...的错误。
解决方法
有两种简单的解决方式:
方式1:使用快捷函数直接移除所有图表
skimr提供了skim_without_charts()函数,可直接生成不带任何图表的skim对象:
my_skim <- skim_without_charts() my_skim(faithful)
方式2:自定义保留其他统计项,仅移除直方图
如果需要保留默认的数值型统计项,只移除直方图,只需在sfl()中添加.keep_defaults=TRUE参数,保留其他默认skim函数的同时移除hist:
my_skim <- skim_with(numeric = sfl(hist = NULL, .keep_defaults = TRUE)) my_skim(faithful)
以上两种方式都能得到不带直方图的输出结果。
内容的提问来源于stack exchange,提问作者spindoctor
相关产品推荐
相关产品推荐

