我想导入一个时间序列,其中第一个字段表示一个时期:
08:00-08:15
08:15-08:30
08:30-08:45
R 是否有任何功能可以巧妙地做到这一点?
谢谢!
更新:
正如 Godeke 所建议的那样,我发现的最有希望的解决方案是 cron 包并使用 substring() 来提取间隔的开始。
我仍在处理相关问题,所以当我到达那里时,我会更新解决方案。
我想导入一个时间序列,其中第一个字段表示一个时期:
08:00-08:15
08:15-08:30
08:30-08:45
R 是否有任何功能可以巧妙地做到这一点?
谢谢!
更新:
正如 Godeke 所建议的那样,我发现的最有希望的解决方案是 cron 包并使用 substring() 来提取间隔的开始。
我仍在处理相关问题,所以当我到达那里时,我会更新解决方案。
CRAN 显示了一个主动更新的包,称为“chron”,用于处理日期。您可能想检查一下以及此处找到的其他一些模块:http: //cran.r-project.org/web/views/TimeSeries.html
xts 和 zoo 在此之上处理不规则的时间序列数据。我对这些包不熟悉,但快速浏览一下就知道你应该能够通过拆分连字符并加载到它们提供的结构中来相当容易地使用它们。
所以你得到了一个字符向量c("08:00-08:15",08:15-08:30)
,你想转换为内部 R 数据类型以保持一致性?查看 POSIXt 和 strftime 的帮助文件。
像这样的功能怎么样:
importTimes <- function(t){
t <- strsplit(t,"-")
return(lapply(t,strptime,format="%H:%M:%S"))
}
这将采用您所描述的字符向量,并返回一个相同长度的列表,其中每个元素都是一个 POSIXt 2 向量,给出开始和结束时间(在今天的日期)。如果你愿意,你可以paste("1970-01-01",x)
在函数内添加一个地方来标准化你正在查看的日期,如果它是一个问题。
这些帮助有用?