head(Morgan)
X.RIC Date.L. Time.L. Type Open High Low LastVolume
1 MS.N 20060117 2016-03-25 09:30:00 Intraday 1Min 59.45 59.45 59.45 59.45 63100
2 MS.N 20060117 2016-03-25 09:31:00 Intraday 1Min 59.45 59.45 59.44 59.44 20800
3 MS.N 20060117 2016-03-25 09:32:00 Intraday 1Min 59.45 59.46 59.45 59.45 7400
4 MS.N 20060117 2016-03-25 09:33:00 Intraday 1Min 59.45 59.45 59.38 59.38 12100
5 MS.N 20060117 2016-03-25 09:34:00 Intraday 1Min 59.35 59.35 59.30 59.30 4800
6 MS.N 20060117 2016-03-25 09:35:00 Intraday 1Min 59.29 59.30 59.20 59.20 4800
Morgan$Time.L. <- as.POSIXct(Morgan$Time.L.,format = "%H:%M:%S")
我已经把时间转到了POSIXct模式,但我无法构建一个新的序列来匹配这两个列表,因为数据行和时间是分开存储的。你能帮我在上午9:30到下午2:30之间提取日常数据,形成一个新的数据集。或在新行中标记正确的数据。
答案 0 :(得分:0)
我不清楚您需要什么作为输出,但我的假设是您希望按日期拆分数据集。如果是这种情况,您可以使用程序包dlply
中的plyr
函数将数据框拆分为按日期显示的结果列表。
键入类似:dlply(.data = Morgan, .variables = "Date.L.")
的内容应返回每个日期的数据框列表。
答案 1 :(得分:0)
如果不使用其他软件包,如果Time.L.
是类POSIXct
,那么您可以像处理数字一样处理它并构建条件语句:
lower <- as.POSIXct(strptime("09:30:00", format = "%H:%M:%S"))
upper <- as.POSIXct(strptime("14:30:00", format = "%H:%M:%S"))
subset(Morgan, subset = Time.L. >= lower & Time.L. <= upper)