Можно ли сделать дату с отрицательным годом? - PullRequest
0 голосов
/ 11 апреля 2020

У меня есть эти данные, которые я хотел преобразовать в даты, но я сомневаюсь, что это возможно с годом, который ниже 0, ниже приведены фрагменты

library(datasets)
library(quantmod)
data(treering)
tree_df = data.frame(ds=index(treering), y=as.numeric(treering))
> head(tree_df)
     ds     y
1 -6000 1.345
2 -5999 1.077
3 -5998 1.545
4 -5997 1.319
5 -5996 1.413
6 -5995 1.069
> tail(tree_df)
       ds     y
7975 1974 1.031
7976 1975 1.027
7977 1976 1.173
7978 1977 1.471
7979 1978 1.444
7980 1979 1.160

?treering
    Yearly Treering Data, -6000–1979
    Description
    Contains normalized tree-ring widths in dimensionless units.

    Usage
    treering
    Format
    A univariate time series with 7981 observations. The object is of class "ts".

    Each tree ring corresponds to one year.

Есть ли способ конвертировать данные в даты с отрицательным годом по-своему? как например "-6000-01-01"?

1 Ответ

0 голосов
/ 11 апреля 2020

Очевидно, что преобразование минус целого числа в дату поможет в этом уловке, в этом случае (-2910983) с 1970 года составляет -6000, поэтому последовательность из 1 года поможет, а затем окончательно преобразуется в дату

sequences = seq(as.Date(-2910983,origin="1970-01-01"),as.Date(paste0(max(index(treering)),"-01-01")),by="1 years")
tail(sequences)
[1] "1974-01-01" "1975-01-01" "1976-01-01" "1977-01-01" "1978-01-01" "1979-01-01"
head(sequences)
[1] "-6000-01-01" "-5999-01-01" "-5998-01-01" "-5997-01-01" "-5996-01-01" "-5995-01-01"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...