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

如何取消summary()函数生成的(Other)类别以查看全部频次结果?

解决summary()输出中出现(Other)类别的问题

当你用summary()处理包含多水平因子的列时,R会自动将低频类别合并为(Other),这是默认行为。以下几种方法可以展开或去除该类别,查看完整结果:

  • 调整summary的maxsum参数
    直接在summary()中指定maxsum为足够大的数值(大于因子的总水平数),就能强制显示所有类别。比如:

    # 先查看因子水平总数(可选)
    nlevels(flights$carrier_code)
    nlevels(flights$carrier_name)
    
    # 设置maxsum为大于水平数的值,比如100(根据实际情况调整)
    summary(flights[, c("carrier_code", "carrier_name")], maxsum = 100)
    
  • 转换为字符型变量后统计
    如果不需要保留因子类型,可将列转换为字符型,此时summary()会列出所有唯一值的频次:

    # 单列处理
    summary(as.character(flights$carrier_code))
    
    # 多列批量处理
    summary(lapply(flights[, c("carrier_code", "carrier_name")], as.character))
    
  • 使用table()函数替代summary()
    table()函数默认会显示所有类别的频次,不会合并低频项,适合需要完整频次表的场景:

    # 单变量频次表
    table(flights$carrier_code)
    table(flights$carrier_name)
    
    # 交叉频次表(如果需要查看两个列的组合情况)
    table(flights$carrier_code, flights$carrier_name)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 08:25:21