Ошибка преобразования формата даты из фрейма данных во временную серию - PullRequest
0 голосов
/ 02 июня 2018

Я нашел этот код в Интернете:

#Integration and co-integration analysis of equity indexes.
library(urca)
library(vars)
## Loading data set and converting to zoo
data(EuStockMarkets)

Assets=as.zoo(EuStockMarkets)

## Aggregating as month’s−enddput series

AssetsM=aggregate(Assets , as.yearmon ,  tail , 1)
head(AssetsM)

## Applying unit root tests for sub−sample

AssetsMsub=window( AssetsM,start =start( AssetsM ), end = "Jun 1996")

# class = "yearmon"), class = c("zooreg", "zoo"), frequency = 12)

## Levels

ADF=lapply(AssetsMsub,ur.df,type = "drift",selectlags = "AIC")

С данными EuStockMarkets можно ознакомиться здесь:

Описание

Содержит дневные цены закрытия основных европейских акцийиндексы: Германия DAX (Ibis), Швейцария SMI, Франция CAC и Великобритания FTSE.Данные отбираются в рабочее время, т. Е. Выходные и праздничные дни не учитываются.Использование

EuStockMarkets

Формат

Многомерный временной ряд с 1860 наблюдениями по 4 переменным.Объект относится к классу "mts".

Я пытаюсь использовать свои собственные данные в формате data.frame.Поскольку первый столбец представляет собой вектор даты в смешанном формате, я использую стандартный формат.

dput datetest2 = ow.names = c(NA, 6L), class = "data.frame") 

Но у меня есть проблема с последней строкой кода:

#Integration and co-integration analysis of equity indexes.
library(urca)
library(vars)

## Loading data set and converting to zoo
rm(list = setdiff(ls(), lsf.str()))

datetest2 <- read.csv("~/Desktop/datetest2.csv")

## As date aren't in uniformised format we create a date vector and replace the old one

DateTS <-as.Date(as.Date("2017/10/02"):as.Date("2018/05/22"), origin="1970/01/01") 
datetest2[,1]=DateTS

## Convert data frame to c("mts", "ts", "matrix"))

data <- ts(datetest2[,-1],start=datetest2[1,1],end=datetest2[NROW(datetest2),1],frequency = 1 )

Assets=as.zoo(data)

## Aggregating as month’s−end series

AssetsM=Assets
AssetsM=aggregate(Assets , as.yearmon ,  tail , 1)
head(AssetsM)

## Applying unit root tests for sub−sample

AssetsMsub=window(AssetsM,start =start( AssetsM ), end = end(AssetsM))

## Levels

ADF=lapply(AssetsMsub,ur.df,type = "drift",selectlags = "AIC")

эта ошибка: Ошибка в charToDate (x): символьная строка не имеет стандартного однозначного формата

Но мне не понятно, поскольку Дата уже в однозначном формате, вы понимаете?

> dput(head(datetest2,10))
structure(list(X = structure(c(17441, 17442, 17443, 17444, 17445, 
17446, 17447, 17448, 17449, 17450), class = "Date"),X1 = c(0.001266303, 
-0.021048584, -0.020621217, 0.023149588, 0.009748078, 0.012748959, 
0.040634667, 0.034437722, 0.002087083, 0.009260646), X2 = c(0.037842672, 
-0.219755806, 0.052179239, -0.020359985, -0.147664555, 0.121832339, 
-0.022406655, 0.076908587, -0.026717135, 0.044910046), X3 = c(-0.022771565, 
-0.0411676, 0.030648901, -0.000196444, 0.004834399, 0.011694903, 
-0.026136535, -0.064203569, 0.026439081, 0.024184196), X4 = c(-0.016205216, 
-0.017019091, 0.00068362, 0.010874844, 0.042127166, 0.008165155, 
-0.008100346, -0.037033935, 0.008304639, 0.011900759), X5 = c(-0.058696937, 
-0.024072712, -0.026573368, -0.011153745, -0.07178172, 0.067360919, 
-0.074169252, -0.063135862, 0.017187075, 0.008108153), X6 = c(-0.021498233, 
-0.019484207, -0.018313765, 0.00523917, 0.00867141, 0.008787067, 
0.010594121, -0.057712044, 0.011102414, 0.00334613), X7 = c(-0.018186256, 
0.015393258, -0.027814412, 0.015910798, -0.007320437, 0.005577137, 
-0.021271535, -0.048851434, 0.0154376, 0.00688708), X8= c(-0.061737994, 
-0.038319809, -0.019420551, -0.034385314, 0.001193193, 0.004084886, 
-0.085468062, 0.000636325, 0.074028454, 0.023084468), X9= c(0.028155324, 
-0.089042438, -0.075688421, 0.035312622, 0.037694432, 0.07525801, 
-0.119479271, -0.09718284, 0.007190581, 0.021934404), X10 = c(-0.054497537, 
-0.044083621, -0.045526127, 0.206964088, 0.233137354, 0.130054454, 
-0.1195141, -0.055098329, 0.074006512, 0.02588484)), row.names = c(NA, 
10L), class = "data.frame")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...