Это, наверное, будет глупый вопрос, но я не могу найти ответ быстро, и мне слишком любопытно отказаться, даже если поздно.Что думает R о векторе дат?
В сущности, почему 1L:3L
и letters
оба вектора
> is.vector(1:3)
[1] TRUE
> is.vector(letters)
[1] TRUE
и последовательность дат нет?
x <- structure(1:3, class = "Date")
> is.vector(x)
[1] FALSE
От ?vector
The atomic modes are "logical", "integer", "numeric" (synonym "double"),
"complex", "character" and "raw".
Fine, ясный, хотя x
атомная ...
> is.atomic(x)
[1] TRUE
Итак, что делает вектор даты не будет прочитан как вектор? (в средствах as.vector()
) и что там за этой разницей?
Этот вопрос исходит из попытки использовать embed
с датами, которые не могут вызвать необходимость в векторе или массиве. Но со структурной точки зрения, я не вижу разницы между 1L:10L
и structure(1L:10L, class="Date")
От '? Is.vector':" is.vector возвращает TRUE, если x является вектором указанного режима, не имеющего атрибутов, кроме имен_. В противном случае он возвращает FALSE. ". – joran
(т. Е. 'Class' является атрибутом.) – joran
@joran Я вижу, спасибо. но это не имеет никакого смысла. например использовать 'embed' мне нужно преобразовать в число, а затем вернуться к дате снова ... это бессмысленно! Я действительно спрашиваю, почему R различает вектор числа, char, логический и даты. – Michele