Скажем, у меня есть базовый xts
объект.
a <- xts(order.by = Sys.Date()-1:5,(6:10))
a
[,1]
2019-04-10 10
2019-04-11 9
2019-04-12 8
2019-04-13 7
2019-04-14 6
Однако иногда я получаю это:
[,1]
X2019-04-10 10
X2019-04-11 9
X2019-04-12 8
X2019-04-13 7
X2019-04-14 6
Похоже, что данные имеют "X" впереди.
Если я пытаюсь увидеть индекс, я получаю:
index(a)[1]
"2019-04-10"
, но если у меня есть "X", я получаю:
index(a)[1]
"2019-04-10 UTC"
Я использую источник Rданные, созданные кем-то еще.Насколько я могу судить, он всегда имеет один и тот же формат, но когда у меня есть «X», xts
не работает должным образом, особенно при слиянии или rbind, особенно с обычными данными.
Обновление:
Вот заголовок dput(Xdata)
согласно запросу.
dput(head(temp))
structure(c(116.625, 116.34375, 116.460938, 116.296875, 116.265625,
116.4375), class = c("xts", "zoo"), .indexCLASS = c("POSIXlt",
"POSIXt"), .indexTZ = "UTC", tclass = c("POSIXlt", "POSIXt"), tzone = "UTC", index = structure(c(1511913600,
1.512e+09, 1512086400, 1512345600, 1512432000, 1512518400), tzone = "UTC", tclass = c("POSIXlt",
"POSIXt")), .Dim = c(6L, 1L), .Dimnames = list(NULL, "Close.Price"))
Close.Price
2017-11-29 116.6250
2017-11-30 116.3438
2017-12-01 116.4609
2017-12-04 116.2969
2017-12-05 116.2656
2017-12-06 116.4375
Единственное, что мне кажется странным, это то, что одно из значений индекса1,512e + 09 вместо полного целого числа.Я понятия не имею, как это исправить.
Обновление 2: X появляется в Rstudio только при использовании команды View.
X2018.02.22 114.2188
X2018.02.23 114.3828
X2018.02.26 114.4375
X2018.02.27 114.1484
X2018.02.27.1 114.1484
Если я посмотрю на сам индекс, единственное отличие состоит в том, что в индексе X отображается UTC.
Я думаю, что дублирующая запись с 2018.02.27.1 отвечает заXI ожидал бы, что это будет просто дублированная дата.Если я уберу это второе свидание с head (), X исчезнет.Я использую R 3.5.3 и XTS 0.11-2.Я недавно обновил R и все пакеты.
Я думаю, что наконец-то получил его. После использования кода Cettt для очистки индекса я использовал: temp = temp[!duplicated(index(temp))]
для удаления лишних дубликатов и, наконец, XушелЯ думаю, что исходные данные имеют некоторые искажения.И эти шаги очищают его.
Обновление 4: Я обнаружил большую проблему с X.Если я выведу фрейм данных с помощью fwrite, индекс будет напечатан с помощью X. Это отрицательно скажется на удобочитаемости и удобстве использования выходного файла.Удаление дубликатов не является хорошим решением, поскольку иногда необходимы дубликаты.Я делаю это регулярно и никогда раньше не сталкивался с этими проблемами.Мои пакеты, кажется, соответствуют другим без проблем.Я могу только предположить, что проблема заключается в моей версии Rstuio 1.2.1335.Кто-нибудь может придумать решение?
Обновление 5 Проблема также возникает с Rgui 3.5.3 с View () (чего я не знал), так что проблема не с Rstuio, но с самим R ???
Обновление 6 Я использовал чистую машину и пробовал разные версии R. R 3.4.4 с xts 0.11-2 и zoo 1.8-5 не сделалесть такая же проблема.3.4.4 не было встроенной функции View (), поэтому требовалась Rstudio.В R 3.5.x с теми же версиями пакета View () доступен в Rgui, и все они отображают и печатают X.