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

按字符串筛选数据集:保留指定日期范围的Mazda记录

解决方案

先看你的原始数据集:

df <- structure(list(Car = c("Mazda", "Mazda", "Mazda", "Mazda", "Mazda", 
"Mazda", "Lexus"), Date = c("2/20/20", "2/21/20", "2/22/20", 
"2/23/20", "2/24/20", "2/25/20", "9/3/20")), class = "data.frame", row.names = c(NA, 
-7L))

要实现需求,分两步操作:

  • 第一步:把Date列从字符串转换成可比较的日期格式,用as.Date()函数并指定格式%m/%d/%y
  • 第二步:用逻辑条件筛选——要么车型不是Mazda,要么是Mazda且日期在2020-02-20到2020-02-23之间

基础R语法实现

# 转换日期格式
df$Date <- as.Date(df$Date, format = "%m/%d/%y")

# 筛选数据
filtered_df <- df[!(df$Car == "Mazda" & (df$Date < as.Date("2020-02-20") | df$Date > as.Date("2020-02-23"))), ]

dplyr语法实现(更直观)

library(dplyr)

filtered_df <- df %>%
  mutate(Date = as.Date(Date, format = "%m/%d/%y")) %>%
  filter(!(Car == "Mazda" & (Date < as.Date("2020-02-20") | Date > as.Date("2020-02-23"))))

运行后filtered_df会保留所有非Mazda的行,以及日期在2/20/20 - 2/23/20范围内的Mazda行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 11:57:00