【发布时间】:2020-12-13 04:57:53
【问题描述】:
我有一个包含许多列的数据集,其中一个是年份。对于每一行,我想随机生成一个日期,使其属于该行中的年份。
library(data.table)
claims <- data.table(claimAmount = runif(n = 10, min = 0, max = 200),
claimYear = sample(x = 2014:2019, size = 10, replace = TRUE))
我已经有人发布了这个功能作为解决方案:
rdate <- function(x,
min = paste0(format(claims$claimYear, '%Y'), '-01-01'),
max = paste0(format(claims$claimYear, '%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
}
}
并尝试按数据应用它,但收到“无效修剪参数”的错误:
apply(claims, 1, rdate)
Error in prettyNum(.Internal(format(x, trim, digits, nsmall, width, 3L, :
invalid 'trim' argument
如何在 R 中轻松生成随机日期?
【问题讨论】:
-
在生成随机数据时请始终使用 set.seed() 以实现可重复性。
标签: r date data.table