我注意到当您这样做时:
mapply(function(x) { x }, c(as.Date('2014-1-1'), as.Date('2014-2-2')))
R自动将您的日期向量转换为数字向量。有没有办法禁用此行为?
我知道您可以将结果包装为as.Date(...,origin ='1970-1-1'),但我只能想象这里必须有更好的解决方案。
这与通过mapply
简化结果的方式有关simplify2array
。
x <- list(as.Date('2014-1-1'), as.Date('2014-2-2'))
simplify2array(x, higher = FALSE)
# [1] 16071 16103
您可以关闭简化功能,然后手动缩小列表。
do.call(c, mapply(I, x, SIMPLIFY = FALSE))
# [1] "2014-01-01" "2014-02-02"
或者,您可以Map
与Reduce
(或do.call
)一起使用
Reduce(c, Map(I, x))
# [1] "2014-01-01" "2014-02-02"
Map
基本上是mapply(..., SIMPLIFY = FALSE)
,我用它I
代替,function(x) { x }
因为它只是按原样返回其输入。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句