首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁用mapply自动将日期转换为数字

禁用mapply自动将日期转换为数字
EN

Stack Overflow用户
提问于 2014-12-17 22:34:46
回答 1查看 202关注 0票数 5

我注意到当你这么做的时候

代码语言:javascript
复制
mapply(function(x) { x }, c(as.Date('2014-1-1'), as.Date('2014-2-2')))

R自动将日期向量转换为数字向量。有什么方法可以禁用这种行为吗?

我知道你可以用as.Date(.,原点=‘1970-1-1’)来包装结果,但是我只能想象这里必须有一个更好的解决方案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-17 22:39:22

这与mapply通过simplify2array简化其结果的方式有关。

代码语言:javascript
复制
x <- list(as.Date('2014-1-1'), as.Date('2014-2-2'))
simplify2array(x, higher = FALSE)
# [1] 16071 16103

您可以关闭简化,然后手动减少列表。

代码语言:javascript
复制
do.call(c, mapply(I, x, SIMPLIFY = FALSE))
# [1] "2014-01-01" "2014-02-02"

或者您可以使用MapReduce (或do.call)

代码语言:javascript
复制
Reduce(c, Map(I, x))
# [1] "2014-01-01" "2014-02-02"

Map基本上是mapply(..., SIMPLIFY = FALSE),我使用I代替function(x) { x },因为它只是按原样返回输入。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27536119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档