gpt4 book ai didi

R 使用时间字符串创建 XTS 对象

转载 作者:行者123 更新时间:2023-12-03 20:16:38 24 4
gpt4 key购买 nike

我想创建一个 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 有什么问题对象创建 ?

最佳答案

您可以创建您的 order.by像这样的向量:

time <- as.POSIXct(paste(df$date, df$extime), format = "%Y-%m-%d %H:%M:%OS")

然后,创建 xts目的:
library(xts)
xt <- xts(x = df$price, order.by = time)
xt
# [,1]
# 2014-06-30 08:00:05 4895
# 2014-06-30 08:00:09 4893
# 2014-06-30 08:00:10 4893
# 2014-06-30 08:00:12 4892

如果要查看小数秒:
options(digits.secs = 3)
xt
# [,1]
# 2014-06-30 08:00:05.329 4895
# 2014-06-30 08:00:09.101 4893
# 2014-06-30 08:00:10.256 4893
# 2014-06-30 08:00:12.575 4892

关于R 使用时间字符串创建 XTS 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24754815/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com