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

标签 r list date type-conversion

<分区>

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

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 错误还是我思维中的错误?

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

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

关于r - as.list.Date(R 编程语言)中的潜在错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28687086/

相关文章:

R 使用二次复杂计算对数据帧进行 2D 分箱

r - 更改 R 中数据框列表中的列值

python - 是否有用于从文本中查找和提取字符串的正则表达式

java - Android:如何从日期和时间选择器中获取值

r - 根据在一个衬管中删除 NA 的列的最大值获取名称

r - 需要更新的软件包列表

r - .onLoad 和交互式 - 意外行为?

Java 使用流方法操作列表中的对象

java - 在Java中打印两个不同日期之间的日期

java - 如何获取以月和日为单位的日期