Я пытаюсь преобразовать многие объекты xts временных рядов в тиблы, и цикл for, который я написал, не работает должным образом, я не знаю почему.
Это происходит не только с этой конкретной задачей, но и с другой задачей, которую я выполняю, у меня есть список с именем «code», который содержит список имен для всех объектов xts, из которых я хочу преобразовать.
code <- c('ABT','BA','CL','ROK')
for (i in code)
{
i <- tk_tbl(i, preserve_index = TRUE, rename_index = "index",
timetk_idx = FALSE, silent = FALSE)
}
Что странно, если я использую один без цикла, он прекрасно работает и преобразует xts «ABT» в тиббл «ABT»
ABT <- tk_tbl(ABT, preserve_index = TRUE, rename_index = "index",
timetk_idx = FALSE, silent = FALSE)
Сообщение об ошибке для первого кода
Предупреждение. Нет индекса для сохранения. Объект, иначе преобразованный в тибл
успешно.
38: в tk_tbl.data.frame (as.data.frame (data), preserve_index, ...:
Edit:
tk_tabl
- это функция из пакета timetk
, и она «Приводит объекты временных рядов к размаху».
И code
- это вектор, содержащий имена.
library(timetk)
code <- c('ABT','BA','CL','ROK')
> dput(head(ROK))
structure(c(8.14062, 8.15625, 8.03125, 7.78125, 7.6875, 7.71875,
8.25, 8.15625, 8.125, 7.90625, 7.71875, 7.75, 8.03125, 8.125,
7.90625, 7.65625, 7.625, 7.65625, 8.1875, 8.125, 7.90625, 7.71875,
7.65625, 7.6875, 109600, 80800, 138400, 151600, 96800, 258800,
0.684505, 0.67928, 0.660992, 0.645316, 0.640091, 0.642704),
class=c("xts", "zoo"), .indexCLASS = "Date", tclass = "Date",
.indexTZ = "UTC", tzone = "UTC", src = "yahoo",
updated = structure(1558826745.23035, class = c("POSIXct","POSIXt")),
index = structure(c(378604800, 378950400, 379036800,
379123200, 379209600, 379296000), tzone = "UTC", tclass = "Date"),
.Dim = c(6L, 6L), .Dimnames = list(NULL, c("ROK.Open", "ROK.High",
"ROK.Low", "ROK.Close", "ROK.Volume", "ROK.Adjusted")))