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

使用R统计数据集25岁及以下乘客数结果为0的问题排查

问题描述

统计数据集people中年龄在25岁及以下的乘客总人数,统计过程要求使用PERSON_TYPE和AGE两个字段完成。

运行代码
library(tidyverse)
people %>%
  filter(
    AGE <= 25 &
    PERSON_TYPE == "PASSENGERS") %>%
  count()
异常表现

上述代码运行后返回的计数结果为0,且其他同类型的字段计数统计代码运行后也均返回0结果,和数据实际分布预期不符。

异常原因与排查方法
  • 优先排查分类字段值匹配错误:PERSON_TYPE为分类字段,90%以上的同类0结果问题都是硬编码的匹配值和字段实际取值不匹配导致的,常见不匹配场景包括:实际值为小写格式passengers、值前后带多余空格" PASSENGERS "、为单数形式"PASSENGER"、首字母大写格式"Passengers"、甚至是数字编码而非字符串。直接运行people %>% count(PERSON_TYPE, sort = TRUE)即可查看该字段所有唯一取值和对应计数,找到代表乘客的真实取值后替换过滤条件中的匹配内容即可。
  • 排查AGE字段格式异常:运行summary(people$AGE)查看字段类型和值分布,如果AGE是字符类型而非数值类型,<= 25的数值比较逻辑会直接失效,需要先通过mutate(AGE = as.numeric(AGE))转换类型后再做过滤;如果字段值带非数字字符(比如值为"24岁"这类带单位的格式),需要先提取字符串中的数字部分再做类型转换;另外如果字段存在大量NA缺失值,也会被过滤条件直接排除,需要确认缺失值占比是否符合预期。
  • 排查字段名拼写错误:运行colnames(people)查看数据集所有字段名,确认是否存在大小写不一致(比如实际字段名为小写age、person_type)、字段名带多余空格或后缀的情况,字段名拼写错误会导致R识别不到对应列,过滤逻辑失效。
  • 排查数据集读入异常:先运行nrow(people)确认数据集本身是不是空对象、有没有读入报错,再运行head(people)查看前几行数据,确认数据内容是否和预期一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 07:57:07