При вводе в моем коде запрашивается дата, которую я хочу, чтобы пользователь ввел в виде гггг / мм / дд.После того, как дата введена, я хочу проверить, действительно ли дата в этом формате, и если нет, пользователю будет предложено ввести дату снова.
Я нашел функцию, которая должна проверить это здесь: https://gist.github.com/micstr/69a64fbd0f5635094a53
Однако, когда я добавил эту функцию в свой код и ввел неправильный формат даты («2016/18/24»)возвращение этой функции было не ЛОЖЬ, а ИСТИНА.
Вот код:
library(lubridate)
IsDate <- function(mydate) {
tryCatch(!is.na(as.Date(mydate, "",tryFormats = "%Y/%m/%d")),
error = function(err) {FALSE})
}
date1<- readline("Enter date (Format: yyyy/mm/dd):")
check <- IsDate(date1)
while(check == FALSE){
otp_date <- readline("Date in wrong format. Enter again:")
check <- IsDate(date1)
}
date1<- as.Date(date1)
Как мне настроить свой код так, чтобы он решал мою проблему?