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

在R语言中筛选Time_2早于Time_1的subject_id

在R中筛选Time_2早于Time_1的subject_id

步骤1:构造示例数据集

先还原你提供的数据集:

df <- data.frame(
  subject_id = c("191-5467", "191-6784", "191-3457", "191-0987", "191-1245", "191-2365"),
  Time_1 = c("18:00", "18:30", "19:00", "19:30", "19:45", "20:00"),
  Time_2 = c("20:00", "18:50", "21:45", "20:00", "19:00", "19:00"),
  stringsAsFactors = FALSE
)

步骤2:转换时间类型并筛选

原始时间列是字符格式,直接比较虽在本案例中可行,但转换为专门的时间类型能避免潜在的逻辑错误,确保比较准确:

基础R实现

# 首次使用需先安装hms包
# install.packages("hms")
library(hms)

# 将字符型时间转为hms时间类型
df$Time_1 <- as_hms(df$Time_1)
df$Time_2 <- as_hms(df$Time_2)

# 筛选Time_2早于Time_1的记录,提取对应的subject_id
target_ids <- df$subject_id[df$Time_2 < df$Time_1]
print(target_ids)

tidyverse风格实现(代码更直观)

# 首次使用需先安装依赖包
# install.packages(c("dplyr", "hms"))
library(dplyr)
library(hms)

target_ids <- df %>%
  mutate(across(c(Time_1, Time_2), as_hms)) %>%
  filter(Time_2 < Time_1) %>%
  pull(subject_id)

print(target_ids)

运行结果

两种方法都会输出符合要求的subject_id:

[1] "191-1245" "191-2365"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 23:20:40