Чтобы выполнить базовые функции R, такие как rnorm, rnbinom, runif и другие, я создал функцию rdate ниже, чтобы вернуть случайные даты на основе принятого ответа Мэтью Лундберга.
Диапазон по умолчанию - это первый и последний день текущего года.
rdate <- function(x,
min = paste0(format(Sys.Date(), '%Y'), '-01-01'),
max = paste0(format(Sys.Date(), '%Y'), '-12-31'),
sort = TRUE) {
dates <- sample(seq(as.Date(min), as.Date(max), by = "day"), x, replace = TRUE)
if (sort == TRUE) {
sort(dates)
} else {
dates
}
}
Как и ожидалось, он возвращает допустимые даты:
> class(rdate(12))
[1] "Date"
И проверка случайности, генерирующая миллион дат с этого года: