R查找数据框列的最小日期值

R Find minimum Date Value for Dataframe column

我有以下数据框:

df <- data.frame(
                "DateValue" = c("2016-07-01", "2016-07-02", "2016-07-03", 
                "2016-07-04","2016-07-05", "2016-07-06","2016-07-07"),  
                "Age1" = c(rep(NA, 2), seq(14,18,2), NA, NA), 
                "Age2" = c(rep(NA, 1), seq(18,28,2)),  
                "Wages"= c(1000,1200,2100,5000,3000,2220,300)
)

我正在尝试查找以 "Age" 开头的所有列的最短日期。下面是一个代表性的输出:

 output <- ['2016-07-03', '2016-07-02']

我查看了所有使用 dplyr 包为具有多个 ID 的 Dataframe 提供最大和最小日期的 SO 解决方案,但无法弄清楚如何将它们应用于我的情况。下面是一个相关的 SO post。类似问题的所有解决方案都使用相同的包:

详情见评论:

df <- data.frame(
  "DateValue" = c("2016-07-01", "2016-07-02", "2016-07-03", 
                  "2016-07-04","2016-07-05", "2016-07-06","2016-07-07"),  
  "Age1" = c(rep(NA, 2), seq(14,18,2), NA, NA), 
  "Age2" = c(rep(NA, 1), seq(18,28,2)),  
  "Wages"= c(1000,1200,2100,5000,3000,2220,300)
)

#convert to date
df$DateValue<-as.Date(df$DateValue)
library(dplyr)
#select the proper columns, filter columns and return min date
answer<-sapply(df %>% select(starts_with("Age")),  function(x){ min(df$DateValue[!is.na(x)])})
#convert from serial number back to a date
answer<-as.Date(answer, "1970-01-01")
answer

Age1         Age2 
"2016-07-03" "2016-07-02"