Я хочу создать объект xts
, используя приведенный ниже фрейм данных. Я понимаю, поскольку это комбинация факторов и комбинация числовых значений, она не может быть в одном объекте xts
. Я рад создавать отдельные объекты с группировкой только по времени (можно оставить дату на данный момент).
date extime sym price size notional ex
1 2014-06-30 08:00:05.330 RRS.L 4895 2 9790 XLON
2 2014-06-30 08:00:09.101 RRS.L 4893 23 112539 XLON
3 2014-06-30 08:00:10.257 RRS.L 4893 119 582267 XLON
4 2014-06-30 08:00:12.575 RRS.L 4892 128 626176 XLON
xts(testData$price, sapply(testData$extime, function(df) as.POSIXct((getNumericTim(df) +0.1)/1000, origin = "2014-06-30"),simplify=FALSE))
# Error in xts(testData$price, sapply(testData$extime, function(df) as.POSIXct((getNumericTime(df) + :
# order.by requires an appropriate time-based object
getNumericTime
function (x){
options(digits.secs=3)
data <- strptime(x,format="%H:%M:%OS")
hr <- as.numeric(strftime(data,"%H"))
mins <- as.numeric(strftime(data,"%M"))
secs <- as.numeric(strftime(data,"%OS"))
(((hr*(60)+mins)*60)+secs)*1000
}
Я знаю, что вызов sapply
возвращает объект POSIXct
sapply(testData$extime,function(df)as.POSIXct((getNumericTime(df)+0.1)/1000, origin = "2014-06-30"),simplify=FALSE)
[[1]]
[1] "2014-06-30 09:00:05.330 BST"
[[2]]
[1] "2014-06-30 09:00:09.101 BST"
[[3]]
[1] "2014-06-30 09:00:10.257 BST"
[[4]]
[1] "2014-06-30 09:00:12.575 BST"
Что-то не так с моим созданием объекта xts
?
sapply
не возвращает объектPOSIXct
. Он возвращает список изPOSIXct
объектов. - person Joshua Ulrich   schedule 15.07.2014