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

如何用dplyr筛选出EXPIRATION_DATE为空值的记录?

正确筛选EXPIRATION_DATE为空值行的方法

你报错的核心原因是:在R里不能用== NULL判断数据框列的空值。NULL代表的是不存在的对象,而数据框里的缺失值通常是NA;同时==判断NA会返回NA,filter会自动排除这类行,所以必须用专门的方式处理:

1. 筛选列值为NA的行(最常见的空值场景)

用dplyr的is.na()函数判断缺失值,两种写法任选:

  • 推荐的管道式写法:
Input = import("IEL_HS_CA_CAP_F_BI.xlsx", skip=1)
Input1 <- Input %>% filter(is.na(EXPIRATION_DATE))
  • 不用管道的写法:
Input = import("IEL_HS_CA_CAP_F_BI.xlsx", skip=1)
Input1 <- filter(Input, is.na(EXPIRATION_DATE))

注:dplyr的filter中可直接写列名,无需加Input$,代码更简洁。

2. 如果是空字符串("")的情况

若数据里的"空值"是指单元格为空字符串(而非NA),用以下代码筛选:

Input1 <- Input %>% filter(EXPIRATION_DATE == "")

如果需要同时保留NA和空字符串的行,用逻辑或连接:

Input1 <- Input %>% filter(is.na(EXPIRATION_DATE) | EXPIRATION_DATE == "")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 09:12:04