在R中,我可以传递有时采用日期格式(例如“ 2020-01-01”)而有时不采用(例如“ birthday”)的字符串吗?

问题描述 投票:0回答:1

我有一个类似于以下内容的R函数:

fn <- function(df, date_given){

  if(date_given == "birthday"){
     date_target <- df %>% filter(dates == date_given) %>% .[[1]] %>% as_date()
  } else{
     date_target <- as_date(date_given)
    }

  return(date_target)
}

我想将字符串date_given传递给fn,并且我希望该字符串有时是日期的名称(例如birthday),有时是通常的日期格式(例如2020-01-01)。无论如何,我都希望date_given是一个字符串,而不是Date对象。

但是,当我尝试通过fn(df, "birthday")调用该函数时,收到错误消息:“字符字符串不是标准的明确格式”

当我更改fn的if语句内的条件以采用日期格式的某些字符串时,此错误已解决,例如>]

fn <- function(df, date_given){

  if(date_given == "2020-01-01"){...}

}

但是,我想知道是否有任何方法可以使用if语句的第一个版本而不会出错。

我有一个类似于以下的R函数:fn%filter(dates == date_given)%>%。[[1]]%>%...

r lubridate
1个回答
0
投票

尚不清楚您在这里寻找什么。也许像这样吗?

© www.soinside.com 2019 - 2024. All rights reserved.