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

如何筛选数据框中Request Date列的错误日期与NA值行?

如何筛选Request Date列中的错误日期值与缺失值(NA)

给定数据集的结构如下:

structure(list(Year = c("2022", "2022", "2022", "2022", "2022", 
"2022", "2022", "2022", "2022", "2022"), `Reference Number` = c("14784", 
"14784", "14785", "14785", "14786", "14786", "14787", "14787", 
"14788", "14788"), `Request Date` = c("1/6/2022", "1/6/2022", 
"11/19/2022", "Happy New Year", "1899-12-31 02:40:00", "Ongoing", "1//12/05", 
"01/14/205", "1/25/20`22", NA)), row.names = c(NA, -10L
), class = c("tbl_df", "tbl", "data.frame"))

我们需要筛选出Request Date列中不符合M/D/YYYY或MM/DD/YYYY格式的行,同时包含缺失值(NA)。可以通过正则表达式匹配合法日期格式,再反向筛选,结合tidyverse工具实现:

library(tidyverse)

# 加载数据集
df <- structure(list(Year = c("2022", "2022", "2022", "2022", "2022", 
"2022", "2022", "2022", "2022", "2022"), `Reference Number` = c("14784", 
"14784", "14785", "14785", "14786", "14786", "14787", "14787", 
"14788", "14788"), `Request Date` = c("1/6/2022", "1/6/2022", 
"11/19/2022", "Happy New Year", "1899-12-31 02:40:00", "Ongoing", "1//12/05", 
"01/14/205", "1/25/20`22", NA)), row.names = c(NA, -10L
), class = c("tbl_df", "tbl", "data.frame"))

# 筛选错误日期和NA行
invalid_dates <- df %>%
  filter(is.na(`Request Date`) | !str_detect(`Request Date`, "^\\d{1,2}/\\d{1,2}/\\d{4}$"))

print(invalid_dates)

代码解释

  • is.na(Request Date):直接筛选出缺失日期的行
  • !str_detect(..., regex):反向匹配合法日期格式的行,保留不匹配的错误格式行
  • 正则表达式^\\d{1,2}/\\d{1,2}/\\d{4}$的含义:
    • ^ 和 $:限定匹配整个字符串,避免部分匹配
    • \\d{1,2}:匹配1-2位数字(对应月份或日期)
    • /:匹配日期中的斜杠分隔符
    • \\d{4}:匹配4位数字(对应年份)

运行结果

执行后会得到所有包含错误日期(如文本、格式错误、年份位数不对等)和NA的行:

# A tibble: 7 × 3
  Year  `Reference Number` `Request Date`       
  <chr> <chr>              <chr>                
1 2022  14785              Happy New Year       
2 2022  14786              1899-12-31 02:40:00  
3 2022  14786              Ongoing              
4 2022  14787              1//12/05             
5 2022  14787              01/14/205            
6 2022  14788              1/25/20`22           
7 2022  14788              NA                   

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 03:55:27