我正在读取一段时间内从文本文件到R的数据。数据在N.Time
列中。 N.Time
中的部分数据包含小时,分钟和秒(例如1:45:02)。不到一小时的实例只有几分钟和几秒钟(例如34:25)
数据以字符形式读入。我想转换为时间以便稍后执行计算。然而格式化让我感到困惑。如果我使用%H:%M:%S
格式,则所有不会有小时数的实例都会转换为NA。如果我使用%M:%S
格式,那么有几个小时的实例会搞砸(例如1:45:02变为00:01:05)。
有关如何使这两种格式协同工作的任何建议?理想情况下,只需将小时插槽中的00:添加到所有没有时间的实例中
答案 0 :(得分:2)
如果除了缺失的小时数之外,所有时间都有相同的固定格式,那么使用00:
填写小时的正则表达式并不太复杂:
> times = c("1:45:02", "34:25")
> gsub("^(\\d\\d:\\d\\d)$", "00:\\1", times, perl = TRUE)
[1] "1:45:02" "00:34:25"