如何使vapply
返回日期向量?(我认为这是一个不同的问题:使用 vapply 返回类 POSIXct 的向量(:
f1 <- function(x) {
as.Date(paste0("2000", sprintf("%02d", x), "01"), format = "%Y%m%d")
}
vapply(3:7, f1, as.Date("2000-01-01"))
# [1] 11017 11048 11078 11109 11139
要:
# "2000-03-01" "2000-04-01" "2000-05-01" "2000-06-01" "2000-07-01"
问题是apply
族函数会Date
类中删除。这是一种方法:
do.call("c", lapply(3:7, f1))
您还可以在评估vapply
后添加class(result) <- "Date"
。
完整版class(result) <- "Date"
:
result <- vapply(3:7, f1, numeric(1))
class(result) <- "Date"
result
# "2000-03-01" "2000-04-01" "2000-05-01" "2000-06-01" "2000-07-01"