You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在txhousing数据集中用glimpse替代glance生成model_sum?

解决broom包glance函数移除后的替代方案及报错修复

问题根源

broom包更新后,针对数据框的glance()函数被移除了——原来它用来快速生成数据框的汇总统计;而tidyverse里的glimpse()只是用来查看数据的结构(列名、类型、前几行值),功能完全不同,所以没法直接替换。你碰到的attempt to apply non-function错误,本质是代码里还在调用已不存在的glance(),或者管道语法因为函数缺失出现了逻辑错误。

解决方案

1. 替代数据框的glance汇总功能

如果你的需求是获取txhousing数据集的统计摘要(行数、列数、缺失值、各列类型占比等),可以用以下两种方式:

  • 用skimr包的skim()函数,生成更全面的汇总报告:
    library(skimr)
    # 生成txhousing的详细统计摘要
    skim(txhousing)
    
  • 用dplyr+purrr自定义实现类似旧glance的精简输出:
    library(dplyr)
    library(purrr)
    
    txhousing %>%
      summarize(
        行数 = n(),
        列数 = ncol(.),
        数值型列数 = sum(map_lgl(., is.numeric)),
        字符型列数 = sum(map_lgl(., is.character)),
        总缺失值数 = sum(is.na(.))
      )
    

2. 修复attempt to apply non-function报错

这个错误大多是管道调用逻辑问题,分两种情况处理:

  • 如果你的models是模型对象列表(比如对txhousing分组拟合的回归模型),broom的glance()仍然支持单个模型对象,只是不能直接对列表用管道调用,需要结合purrr::map()遍历:
    library(broom)
    library(purrr)
    
    # 遍历模型列表,生成每个模型的glance汇总
    models %>% map(glance)
    
  • 如果是对数据框调用了旧的glance(),直接把代码替换成上面的skimr或自定义汇总逻辑,不要再调用已不存在的针对数据框的glance()函数。

内容的提问来源于stack exchange,提问作者Woody

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 23:23:17