Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R如何看待日期向量?_R_Date - Fatal编程技术网

R如何看待日期向量?

R如何看待日期向量?,r,date,R,Date,这可能是个愚蠢的问题,但我不能很快找到答案,我太好奇了,即使很晚也不会放弃 本质上,为什么1L:3L和字母都是向量 > is.vector(1:3) [1] TRUE > is.vector(letters) [1] TRUE 一系列的日期不是吗 x <- structure(1:3, class = "Date") > is.vector(x) [1] FALSE 很好,很清楚,即使x是原子的 > is.atomic(x) [1] TRUE 那么,是什么使得

这可能是个愚蠢的问题,但我不能很快找到答案,我太好奇了,即使很晚也不会放弃

本质上,为什么1L:3L和字母都是向量

> is.vector(1:3)
[1] TRUE
> is.vector(letters)
[1] TRUE
一系列的日期不是吗

x <- structure(1:3, class = "Date")
> is.vector(x)
[1] FALSE
很好,很清楚,即使x是原子的

> is.atomic(x)
[1] TRUE
那么,是什么使得日期向量不能被解读为向量呢?用as.vector的方法,这个差异的背后是什么


这个问题来自一次尝试使用嵌入日期失败,因为它需要向量或数组。但从结构的角度来看,我看不出1L:10L和structure1:10L,class=Date之间的区别。我的一些评论集中在一个答案中:

因此,文件还说:

如果x是指定模式的向量,除名称外没有其他属性,则is.vector返回TRUE。否则返回FALSE

正如前面的答案中所讨论的,is.vector更像是检查向量是否具有名称以外的属性,这当然可能并不明显


至于embed为什么会这样做,我不确定。它可能会改用is.atomic,但是您必须单独检查列表才能实现相同的行为。我可能忽略了其他一些边缘情况。

From?is.vector:is.vector返回TRUE,如果x是指定模式的向量,除了名称之外没有其他属性。它返回FALSE,否则..即。类是一种属性。@joran我明白了,谢谢。但无论如何,这没有多大意义。e、 要使用嵌入,我必须转换为数字,然后再回到最新的。。。这毫无意义!我真正想问的是为什么R区分数字向量、字符向量、逻辑向量和日期向量。特别是,我认为你真正的问题是为什么嵌入使用is.vector而不是is.atomic。我不确定,只是要注意列表上的行为需要一些轻微的调整和惯性。可能还有其他我不知道的边缘案例。
> is.atomic(x)
[1] TRUE