我试图用“TimeStamp”绑定多个股票,这是数据集的第一列。其余列分别为Open,High,Low,Close,Volume。其中一个问题是它们都包含不同的行。第二个问题是“TimeStamp”是数字&我无法弄清楚如何将其转换为适当的“时间”。我所知道的是,他们都是1分钟的间隔,&我给出了每天的范围:
对于我想要绑定的所有股票,这些范围都是相同的。
DATE BEGINNING END
range: 20131220 1387515600 1387601940
range:20131223 1387774800 1387861140
range:20131224 1387861200 1387947540
range:20131226 1388034000 1388120340
以下是一个股票的例子:
Time Open High Low Close Volume
1387519189 1.3635 1.3635 1.3632 1.3634 16300
1387519476 1.3633 1.3636 1.3632 1.3635 200
1387519798 1.3635 1.3635 1.3634 1.3634 200
1387520045 1.3635 1.3636 1.3635 1.3635 100
1387520392 1.3635 1.3636 1.3634 1.3635 100
1387520637 1.3636 1.3636 1.3635 1.3635 100
1387520977 1.3635 1.3636 1.3635 1.3636 100
1387521292 1.3637 1.3637 1.3635 1.3635 400
我已尝试使用cbind
绑定所有股票,但由于它们都包含不同的行,因此会发生错误。我已经尝试将每个股票转换为xts
对象,但由于我不知道如何分解TIME
我无法做到。有什么建议?提前谢谢!
期望的输出:
`Time Open High Low Close Volume` `Time Open High Low Close Volume`
1387519189 1.3635 1.3635 1.3632 1.3634 16300
1387519189 35.5 35.90 35.4 35.5 100
1387519476 1.3633 1.3636 1.3632 1.3635 200
1387519476 35.6 35.6 35.40 35.5 100
1387519798 1.3635 1.3635 1.3634 1.3634 200
1387519798 35.8 35.95 35.4 35.5 100
答案 0 :(得分:1)
您要使用的是plyr
的{{1}}命令。
join
答案 1 :(得分:1)
关于将时间戳转换为时间的问题,看起来这些可能是POSIX格式(自1970-01-01以来的秒数)。调用您的示例df
,
date.time <- as.POSIXct(df$Time, origin="1970-01-01")
time.only <- format(date.time,"%H:%M:%S")
df.times <- data.frame(Time=df$Time, date.time, time.only)
df.times
# Time date.time time.only
# 1 1387519189 2013-12-20 00:59:49 00:59:49
# 2 1387519476 2013-12-20 01:04:36 01:04:36
# 3 1387519798 2013-12-20 01:09:58 01:09:58
# 4 1387520045 2013-12-20 01:14:05 01:14:05
# 5 1387520392 2013-12-20 01:19:52 01:19:52
# 6 1387520637 2013-12-20 01:23:57 01:23:57
# 7 1387520977 2013-12-20 01:29:37 01:29:37
# 8 1387521292 2013-12-20 01:34:52 01:34:52
但这些间隔不是1分钟。