【发布时间】:2019-11-14 13:56:17
【问题描述】:
我有一个向日期添加随机整数的函数:
rand_to_date = function(date){
newdate = as.Date(date) + sample(1:30, 1)
return(as.Date(newdate))
}
效果很好。但是,如果我尝试使用 sapply 将此函数应用于日期向量,例如
test_dates = c('2001-01-01', '2002-02-02', '2003-03-03', '2004-04-04')
sapply 不会返回日期格式的输出向量:
sapply(test_dates,rand_to_date)
2001-01-01 2002-02-02 2003-03-03 2004-04-04
11329 11748 12115 12513
相比之下, lapply 将返回日期列表。但是,再次将 unlist 应用于此输出会为我提供一个数字向量而不是日期。也没有
sapply(sapply(test,rand_to_date), as.Date)
工作。对我来说,将这些随机日期的向量作为输出的最简单方法是什么?
【问题讨论】:
-
as.Date(test_dates) + sample(1:30, length(test_dates), replace = TRUE)
标签: r