R 和 Posix:将时间导入数据帧会导致信息丢失
R and Posix: Importing times into dataframe results in lost informations
这是我在 Whosebug 上的第一个问题,所以如果我有任何错误,我深表歉意..
我正在尝试在 R 中导入一个数据框,其中包含 3 行,第一行是时间,表示为:"minutes:seconds,milliseconds"。例如:“05:02,159”。
每次我尝试导入时间,保留毫秒,整个时间似乎都重置了。
示例代码如下,时间格式与数据帧中的格式相同:
> time1 <- "00:00,05"
> time1
[1] "00:00,05"
以上信息正确保留。然后我尝试将 char 对象转换为 POSIX 一个。
> time2 <- as.POSIXct(strptime(time1,"%M:%OS"))
当我尝试形象化 "time2" 时,只显示日期
> time2
[1] "2016-03-19 CET"
当我尝试格式化输出时,时间信息似乎已被重置
> strftime(time2,'%Y-%m-%d %H:%M:%OS3')
[1] "2016-03-19 00:00:00.000"
> strftime(time2,'%H:%M:%OS3')
[1] "00:00:00.000"
我也尝试调整 options(digits.secs = 3) 设置,但没有任何改变。
用点替换逗号。
time1 <- "00:00,05"
time2 <- as.POSIXct(strptime(gsub(",", ".", time1, fixed = TRUE),"%M:%OS"))
strftime(time2,'%Y-%m-%d %H:%M:%OS4')
#[1] "2016-03-19 00:00:00.0499"
请注意,浮点精度与此处相关。
这是我在 Whosebug 上的第一个问题,所以如果我有任何错误,我深表歉意..
我正在尝试在 R 中导入一个数据框,其中包含 3 行,第一行是时间,表示为:"minutes:seconds,milliseconds"。例如:“05:02,159”。
每次我尝试导入时间,保留毫秒,整个时间似乎都重置了。
示例代码如下,时间格式与数据帧中的格式相同:
> time1 <- "00:00,05"
> time1
[1] "00:00,05"
以上信息正确保留。然后我尝试将 char 对象转换为 POSIX 一个。
> time2 <- as.POSIXct(strptime(time1,"%M:%OS"))
当我尝试形象化 "time2" 时,只显示日期
> time2
[1] "2016-03-19 CET"
当我尝试格式化输出时,时间信息似乎已被重置
> strftime(time2,'%Y-%m-%d %H:%M:%OS3')
[1] "2016-03-19 00:00:00.000"
> strftime(time2,'%H:%M:%OS3')
[1] "00:00:00.000"
我也尝试调整 options(digits.secs = 3) 设置,但没有任何改变。
用点替换逗号。
time1 <- "00:00,05"
time2 <- as.POSIXct(strptime(gsub(",", ".", time1, fixed = TRUE),"%M:%OS"))
strftime(time2,'%Y-%m-%d %H:%M:%OS4')
#[1] "2016-03-19 00:00:00.0499"
请注意,浮点精度与此处相关。