我有一个带有日期列和价格列的CSV文件。
我试图将其转换为xts格式,以便我最终可以使用aggregatets函数。但是,当我尝试运行以下代码时:
mydata_xts=xts(mydata, order.by=as.POSIXct(mydata$Date, format="%d%/m/%y %H:%M"))
我收到此错误:
Error in xts(mydata, order.by = as.POSIXct(mydata$Date, format = "%d%/m/%y %H:%M"))
'order.by' cannot contain 'NA', 'NaN', or 'Inf'
我确信我的数据没有任何遗漏或无效值。我怀疑的问题是Excel格式化时间的方式。
附上有关我的数据的一些信息。
head(mydata)
Date Price
1 1/03/2018 0:30 62.07
2 1/03/2018 1:00 60.35
3 1/03/2018 1:30 57.16
4 1/03/2018 2:00 55.88
5 1/03/2018 2:30 58.19
6 1/03/2018 3:00 60.63
summary(mydata)
Date Price
1/03/2018 0:30 : 1 Min. : 14.46
1/03/2018 1:00 : 1 1st Qu.: 61.98
1/03/2018 1:30 : 1 Median : 63.77
1/03/2018 10:00: 1 Mean : 66.70
1/03/2018 10:30: 1 3rd Qu.: 69.86
1/03/2018 11:00: 1 Max. :136.21
(Other) :1481
这是我的Excel / csv文件:https://imgur.com/a/QofdEZl
以下是一些代码行,其中包含随机生成的数据以帮助您。只需将“db0”替换为从Excel导入的数据(从头开始尝试删除Date列)
library(xts)
set.seed(97531)
db0 <- as.data.frame(matrix(rnorm(1*1000, mean=5, sd=2), ncol=1))
date <- seq(from=as.POSIXct("2011-03-12 0:30", format = "%Y-%m-%d %H:%M"), length.out = nrow(db0), by = "30 min")
dbt <- xts(db0, date)
# index(dbt)
apply.weekly(dbt, FUN = "sum")