【发布时间】:2012-11-21 16:32:11
【问题描述】:
我有一些数据,我用下面的代码基于一个数据集以唯一的分钟为基础汇总信息 1 天。 但是,我希望能够使用组合了多天的数据文件来运行此代码。我在数据集中有一个日期列,因此我可以将其用作每天的唯一标识符。鉴于日期不一样,有没有办法以 1 分钟为单位汇总数据?
问题在于 unique 函数会提取第一天发生的唯一事件,然后添加在那一分钟之后发生的所有相同事件。如果我也基于日期,我相信我可以在一个长数据集中为每一天创建唯一的 1 分钟条目。
以下是适用于单日数据的代码。
novo <- read.csv("C:/Users/Morten/Desktop/data.csv", header = TRUE, stringsAsFactors=FALSE )
TimeStamp <- novo[,1]
price <- novo[, 2]
volume <- novo[,3]
nV <- sum(volume)
MinutesFloor <- unique(floor(TimeStamp))
nTradingMinutes <- length(MinutesFloor)
PriceMin <- rep(0, nTradingMinutes)
VolumeMin <- rep(0, nTradingMinutes)
for( j in 1:nTradingMinutes){
ThisMinutes <- (floor(TimeStamp) == MinutesFloor[j])
PriceMin[j] <- mean(price[ThisMinutes])
VolumeMin[j] <- sum(volume[ThisMinutes])
}
提前致谢
数据格式:
date,"ord","shares","finalprice","time","stock"
20100301,C,80,389,540.004,1158
20100301,C,77,389,540.004,1158
20100301,C,60,389,540.004,1158
20100301,C,28,389,540.004,1158
20100301,C,7,389,540.004,1158
20100302,C,25,394.7,540.00293333,1158
20100302,C,170,394.7,540.00293333,1158
20100302,C,40,394.7,540.00293333,1158
20100302,C,75,394.7,540.00293333,1158
20100302,C,100,394.7,540.00293333,1158
20100302,C,1,394.7,540.00293333,1158
【问题讨论】:
-
请提供几行数据集。试试?头
-
我在 OP 中添加了一段数据集