【发布时间】:2013-03-27 13:15:51
【问题描述】:
当我取消列出日期列表时,它会将它们重新转换为数字。这正常吗?除了重新申请 as.Date 之外的任何解决方法?
> dd <- as.Date(c("2013-01-01", "2013-02-01", "2013-03-01"))
> class(dd)
[1] "Date"
> unlist(dd)
[1] "2013-01-01" "2013-02-01" "2013-03-01"
> list(dd)
[[1]]
[1] "2013-01-01" "2013-02-01" "2013-03-01"
> unlist(list(dd))
[1] 15706 15737 15765
这是一个错误吗?
【问题讨论】:
-
来自
?unlist: 在可能的情况下,列表元素在取消列出期间被强制转换为普通模式,因此结果通常以字符向量结尾。向量将被强制转换为层次结构中组件的最高类型 NULL -
是的,我确实阅读了手册......它们已经处于通用模式
-
我同意这种行为不正常。但始终建议阅读您正在使用的函数的文档。
-
@Arun 我不明白这有什么关系。日期向量在内部是整数,所以问题实际上是属性被剥离了。文档没有明确提及这一点,但 unlist 无法保留一般属性。
-
@Arun 是的,因为
unlist返回非列表输入不变。对我来说似乎一点也不模糊,但文档应该提到属性会发生什么。
标签: r