La conversion de données à xts échoue lors de la mise à jour de xts 0.9.7 à 0.10.0.La conversion de Xts échoue lors de la mise à jour de xts 0.9.7 à 0.10.0
#THIS WORKS (uses xts 0.9.7):
library(xts)
DFX <- structure(list(DateTime = structure(list(sec = c(0, 0, 0), min = c(10L, 0L, 5L), hour = c(17L, 18L, 18L), mday = c(24L, 24L, 24L), mon = c(5L, 5L, 5L), year = c(114L, 114L, 114L), wday = c(2L, 2L, 2L), yday = c(174L, 174L, 174L), isdst = c(1L, 1L, 1L), zone = c("EDT", "EDT", "EDT"), gmtoff = c(NA_integer_, NA_integer_, NA_integer_)), .Names = c("sec", "min", "hour", "mday", "mon", "year", "wday", "yday", "isdst", "zone", "gmtoff"), class = c("POSIXlt", "POSIXt")), Open = c(125.03, 125.34, 125.85)), .Names = c("DateTime", "Open"), class = "data.frame", row.names = 558:560)
DFX <- as.xts(DFX[, -1], order.by = DFX$DateTime)
#THIS DOESN'T WORK (uses xts 0.10.1):
install.packages("devtools")
require(devtools)
install_github("joshuaulrich/xts")
library(xts)
DFX <- structure(list(DateTime = structure(list(sec = c(0, 0, 0), min = c(10L, 0L, 5L), hour = c(17L, 18L, 18L), mday = c(24L, 24L, 24L), mon = c(5L, 5L, 5L), year = c(114L, 114L, 114L), wday = c(2L, 2L, 2L), yday = c(174L, 174L, 174L), isdst = c(1L, 1L, 1L), zone = c("EDT", "EDT", "EDT"), gmtoff = c(NA_integer_, NA_integer_, NA_integer_)), .Names = c("sec", "min", "hour", "mday", "mon", "year", "wday", "yday", "isdst", "zone", "gmtoff"), class = c("POSIXlt", "POSIXt")), Open = c(125.03, 125.34, 125.85)), .Names = c("DateTime", "Open"), class = "data.frame", row.names = 558:560)
DFX <- as.xts(DFX[, -1], order.by = DFX$DateTime)
#Error message:
#Error in .Call("do_is_ordered", x = x, increasing = as.logical(increasing), :
# "do_is_ordered" not available for .Call() for package "xts"
Devinez XTS 0.10.0 n'est pas une construction finie. Pourtant, j'ai mis à jour à 0.10.0 comme paquet quantstrat nécessite paquet blotter, qui nécessite xts 0.10.0. J'avais besoin de ceci pour transformer une dataframe de données de tick dans un objet de xts, pour exécuter une stratégie de quantstrat dessus (exige des objets de xts).
La conversion de 'POSIXlt' à' POSIXct' a résolu le problème. Ca a du sens. Intéressant ce n'était pas un problème sur xts 0.9.7. Merci Joshua. – Krug
@Gracos: Voir [numéro 194] (https://github.com/joshuaulrich/xts/issues/194). On dirait que c'est quelque chose que j'ai présenté en corrigeant un autre problème. –