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

如何通过循环按列名对数据框列应用日期解析函数?

批量处理日期列的循环代码修正

原循环代码存在两个关键问题:

  • 使用wgs_db$i无法动态引用循环变量对应的列,R会将i识别为字面量列名而非循环中的变量值
  • parse_date_time函数的参数之间缺少逗号,属于语法错误

修正后的循环代码如下:

date_cols <- c("IsolatDate", "ReceivedDate", "DNA_Extraction_Date", "Sequencing_Date")

for (i in date_cols){
  wgs_db[[i]] <- parse_date_time(wgs_db[[i]], c("ymd", "mdy"))
}

补充:更简洁的非循环实现方式

如果不想用循环,也可以用lapply实现向量化处理,代码更紧凑:

wgs_db[date_cols] <- lapply(wgs_db[date_cols], parse_date_time, orders = c("ymd", "mdy"))

若使用tidyverse工具链,还可以用dplyr的across函数:

library(dplyr)
library(lubridate)

wgs_db <- wgs_db %>%
  mutate(across(all_of(date_cols), ~parse_date_time(., c("ymd", "mdy"))))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 01:17:33