我有一个类似于以下内容的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]]%>%...
尚不清楚您在这里寻找什么。也许像这样吗?