as.list.Date(R 编程语言)中的潜在错误

Potential bug in as.list.Date (the R programming language)

在我看来,以下内容对于任何矢量类型都应该是正确的。

all(names(as.list(x)) == names(x))

我这么说是因为我尝试了几种原子类型并且它是合理的。

但是日期:

> dd = as.Date(c("1950-01-01", "2050-01-01" ))
> names(dd)  = c("from", "to")
> dd
        from           to 
"1950-01-01" "2050-01-01" 
> as.list(dd)
[[1]]
        from 
"1950-01-01" 

[[2]]
          to 
"2050-01-01" 

你怎么看? R bug 还是我思维中的 bug?

PS:我有解决方法,谢谢

您的示例似乎也因某些因素而失败

x <- factor(c("one","two"))
names(x) <- c("a","b")
x

#   a   b 
# one two 
# Levels: one two

as.list(x)

# [[1]]
#   a 
# one 
# Levels: one two
# 
# [[2]]
#   b 
# two 
# Levels: one two

也是原子类型

is.atomic(x)
# [1] TRUE

所以这不会发生在日期上。在这种情况下,我不愿意将其称为错误,因为我不相信任何特定的行为都与任何地方记录的名称一样。然而不幸的是,与数字或字符向量相比,结果不一致。