我只是在学习R并且反对这一点。
我有以下时间序列观察,
10/08/2015 02:31:04.450
我一直在关注,data table
,lubridate
试图弄明白。我查看了XTS
,但这似乎更倾向于日期汇总。
它们是R中允许进行此拆分的现有包吗?我会用什么样的论据。
非常感谢任何帮助。
答案 0 :(得分:5)
使用data.table
非常简单:
require(data.table)
x <- "10/08/2015 02:31:04.450"
IDateTime(strptime(x, "%d/%m/%Y %H:%M:%OS"))
为您提供以下data.table
idate itime
1: 2015-08-10 02:31:04
答案 1 :(得分:3)
x <- "10/08/2015 02:31:04.450"
temp <- strptime(x, "%d/%m/%Y %H:%M:%OS")
format(temp,"%H:%M:%S")
#[1] "02:31:04"
as.Date(temp)
#[1] "2015-08-10"
如果您不需要字符形式的时间部分,则可以添加几个步骤
x <- "10/08/2015 02:31:04.450"
temp <- strptime(x, "%d/%m/%Y %H:%M:%OS")
library(chron)
chron(times = format(temp,"%H:%M:%S"))
#[1] 02:31:04
class(chron(times = format(temp,"%H:%M:%S")))
#[1] "times"
as.Date(temp)
# [1] "2015-08-10"
答案 2 :(得分:0)
string_timeStamp = "10/08/2015 02:31:04.450"
parsed_timeStamp = strptime(string_timeStamp, "%d/%m/%Y %H:%M:%OS")
date_time_dataFrame = data.frame(date = cut(parsed_timeStamp, breaks = "days"),
time = format(parsed_timeStamp, "%H:%M:%OS" ))
有关更多格式选项,请查看?strptime