示例数据
> library(data.table)
> x <- c(as.IDate("2012-01-01"), as.IDate("2012-01-02"))
> x
[1] "2012-01-01" "2012-01-02"
> class(x)
[1] "IDate" "Date"
我想在vector
内执行一项功能,并将结果放在单级list
中。这是理想的结果:
> y <- list(x = c(as.IDate("2012-01-01"), as.IDate("2012-01-02")))
> y
$x
[1] "2012-01-01" "2012-01-02"
> class(y)
[1] "list"
> class(y$x)
[1] "IDate" "Date"
我已尝试过这些解决方案,但lapply
喜欢构建多级list
,sapply
喜欢强迫我IDate
到integer
> list(x = lapply(x, function(x) x))
$x
$x[[1]]
[1] "2012-01-01"
$x[[2]]
[1] "2012-01-02"
> list(x = sapply(x, function(x) x))
$x
[1] 15340 15341
请注意,function(x)
只是一个占位符,我想展示它是sapply
是强制执行,而不是功能。
我怎样才能解决这个问题?
答案 0 :(得分:2)
我们可以使用
lapply(list(x), yourfunction)