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

在R Studio中过滤并删除长度非16位的ID数据的方法

解决R语言过滤ride_id长度问题

先说说你之前代码的问题:

  • 第一段length(all_trips$ride_id != 16):你是把每个ride_id直接和数字16比大小,得到一堆TRUE/FALSE后取这个向量的长度,结果就是整个数据集的行数,根本不是你要的非16位ID的数量。
  • 第二段length(nchar(all_trips$ride_id !=16)):先做了ride_id !=16的逻辑判断,得到TRUE/FALSE后对这些逻辑值算字符长度(TRUE是4个字符,FALSE是5个),最后取长度,完全偏离需求。

给你几个实用的代码:

  • 查看有多少条数据的ride_id长度不是16位:
sum(nchar(all_trips$ride_id) != 16)
  • 过滤出ride_id长度为16位的有效数据(建议存新变量保留原数据):
all_trips_clean <- all_trips[nchar(all_trips$ride_id) == 16, ]

# 若要直接替换原数据(谨慎操作)
all_trips <- all_trips[nchar(all_trips$ride_id) == 16, ]
  • 单独提取无效行查看:
all_trips_invalid <- all_trips[nchar(all_trips$ride_id) != 16, ]

核心逻辑是:先用nchar()算出每个ride_id的字符长度,再判断这个长度是否等于16,用判断结果筛选行即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 17:01:17