Чтобы следовать базовые функции R, как rnorm
, rnbinom
, runif
и другие, я создал функцию rdate
ниже, чтобы вернуть случайные даты на основе accepted answer of Matthew Lundberg.
Диапазон по умолчанию - это первый и последний день текущего года.
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"
И чек хаотичности, генерируя миллион дат с этого года:
> hist(rdate(1000000), breaks = 'months')
Спасибо за быстрый ответ! – AAA
Как я могу изменить формат вывода в формате 01/01/1999? – AAA
См. '? Format.Date'. Чтобы создать этот формат, вам нужна строка формата «% m /% d /% Y» (или, возможно, ''% d /% m /% Y'' - по этой причине я рекомендую в этом формате). –