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

在R语言中如何获取每行非缺失日期的最小值?

解决方法

这里提供两种在R语言中生成目标列的常用方式:

方法1:基础R的apply函数

直接使用基础R的apply函数逐行处理指定列,忽略缺失值后取最小值:

# 生成新列min_date,计算每行三个日期列的非缺失最小值
dat$min_date <- apply(dat[, c("EOTDT", "DTHDT", "EOSDT")], 1, function(x) min(x, na.rm = TRUE))

# 查看结果
dat

运行后第一行的min_date为2021-08-17,符合预期。

方法2:tidyverse框架的dplyr包

如果习惯使用tidyverse风格的代码,可用rowwise()和c_across()实现:

library(dplyr)

dat <- dat %>%
  rowwise() %>%
  mutate(min_date = min(c_across(EOTDT:EOSDT), na.rm = TRUE)) %>%
  ungroup()

# 查看结果
dat

这种方式更贴合tidy数据处理逻辑,适合后续需进行更多数据操作的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 19:18:11