数据时间转换,以毫秒为单位

时间:2015-02-05 08:24:49

标签: r

我有一个包含4列的数据框(start,starts.ms,end和end.ms),我的目标是使用这些不同的变量计算每次观察的持续时间。

start <- c("25/11/14 16:59:46", "25/11/14 16:59:29  ", "25/11/14 16:58:04")
start.ms <- c(976, 456, 30)
end <- c("25/11/14 17:00:00", "25/11/14 17:00:00", "25/11/14 17:00:00")
end.ms <- c(50, 111, 150)

df <-data.frame(start, start.ms, end, end.ms)

df$start.b <- with(df, paste(start, start.ms, sep = "."))
df$end.b <- with(df, paste(end, end.ms, sep = "."))

在此之后,我想将最后两列转换为数据变量并将它们区分开以获得持续时间! 当我使用as.Date或strptime时,R返回我的NA值或没有... 提前谢谢。

编辑:对于那些使用&#34; strptime&#34;功能不要忘记添加&#34;选项(digits.secs = 3)&#34;如果你有milleseconds,输出将是POSIXlt格式。

1 个答案:

答案 0 :(得分:1)

将评论作为答案发布。

  op <- options(digits.secs=3)
  strptime(df$start.b, format='%d/%m/%y %H:%M:%OS')
  #[1] "2014-11-25 16:59:46.976 EST" "2014-11-25 16:59:29.000 EST"
  #[3] "2014-11-25 16:58:04.300 EST"