我有一个包含效果数据的数据集。第1列包含END_DATE,第2列包含START_DATE。 两列中日期时间的格式:03-08-16 08:55:59,177000000 我想添加一个新列,其中存储了以毫秒为单位的时差。
示例:
第1栏:03-08-16 08:55:59,177000000
第2栏:03-08-16 08:55:59,888000000
新列,以秒为单位:0,711
我试图转换为as.POSIX ..但不知何故,毫秒丢失了。有一个答案说明“操作系统”格式选项可以解决问题,但我没有成功:
time = as.POSIXct(“03-08-16 08:56:06,345000000”,格式=“%d-%m-%y%H:%M:%OS”)
时间
[1]“2016-08-03 08:56:06 CEST”
提前致谢!
答案 0 :(得分:1)
扩展我的评论:
d <- data.frame(col1= '03-08-16 08:55:59,177000000', col2= '03-08-16 08:55:59,888000000')
d2 <- data.frame( lapply(d, sub, patt="[,]", repl="."))
d2
#-------
col1 col2
1 03-08-16 08:55:59.177000000 03-08-16 08:55:59.888000000
#-------
d3 <- data.frame( lapply(d2, as.POSIXct, format= "%d-%m-%y %H:%M:%OS") )
d3
#--------
col1 col2
1 2016-08-03 08:55:59 2016-08-03 08:55:59
#-------
difftime(d3$col1, d3$col2)
#-------
Time difference of -0.711 secs