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

R语言筛选data_grouped中DTPE空行时data_OC返回0行问题求解

问题原因

你DTPE列中的“空值”实际是空字符串"",和R中定义的缺失值NA是完全不同的两种数据状态。is.na()函数仅会对真实的NA值返回TRUE,对空字符串的判断结果全部为FALSE,因此筛选结果行数为0。

你可以执行unique(data_grouped$DTPE)查看列的实际取值,就能确认列中存在""值,无NA值。

正确筛选方案

方案1:直接匹配空字符串筛选

无需修改原数据集,直接判断DTPE是否等于空字符串即可:

data_OC <- subset(data_grouped, DTPE == "")

执行后即可筛选到4条符合要求的行。

方案2:统一空值定义后筛选

如果后续需要统一处理缺失值,建议先把空字符串转为NA,再用is.na()筛选:

library(dplyr)
# 把DTPE列的空字符串转为NA
data_grouped <- data_grouped %>%
  mutate(DTPE = na_if(DTPE, ""))
# 筛选空值
data_OC <- subset(data_grouped, is.na(DTPE))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 15:39:00