我有几个计划使用readr
导入的电子表格。原始电子表格中的时间记录为分钟和秒,不含小时-“ M:S”的值为“ 0:10”。对于开始的时间戳,没有使用另一个前导零,我认为这是问题的根源。
尝试使用read_csv
进行采样,此列已正确解析为时间,但格式不正确(“ H:M”)。在通话中使用col_types = cols(timecode = col_time(format = "%M:%S"))
似乎无法解决。
使用向量作为时间和parse_time
重新表示:
library(tidyverse)
times <- c("0:00", "0:10", "0:53", "6:22", "9:45", "10:21")
parse_time(times) #Shows H:M:S
parse_time(times, format = "%M:%S") #Errors until 10:21
我可以采取哪些步骤以仅几分钟和几秒钟的时间正确导入时间?
答案 0 :(得分:0)
问题似乎出在分钟上缺少前导零。一种解决方案是添加缺少的零,然后解析正常进行:
library(tidyverse)
times2 <- c("00:00", "00:10", "00:53", "06:22", "09:45", "10:21")
parse_time(times2, format = "%M:%S")
另一种解决方案是在基础strptime
中使用R
函数,该函数可以处理当前格式。但这会将结果存储为POSIXlt
对象,并带有额外的信息(这意味着打印更加混乱)。
在?parse_time
中,它表示格式规范必须与完整的字符串匹配。