0

如果这已在其他地方发布,我提前道歉。我是 R 新手,我在操作数据框时遇到了麻烦。

我的数据框中有一列包含 hh mm ss 格式的时间。但是,某些值在 hh 位置只有一个“0”(例如,“0:01:30”或“0:20:30”)。

我正在尝试使用 chron 包将它们转换为时间对象,以便我可以找到最小、最大和平均持续时间,但在我这样做之前我需要在小时列中添加一个零。在 R 中执行此操作的最佳方法是什么?由于列中的某些值不需要添加零,那么迭代每个值并检查特定条件的最佳方法是什么?

在此先感谢您的帮助!

4

1 回答 1

0

可能您可以按照评论中的建议直接通过chron包处理。

否则,一个简单的 if else 语句应该可以完成这项工作。假设t是您的列和dat数据框,并且问题仅发生在 hh 部分(否则添加更多条件):

library(dplyr)
dat$t1 <- if_else(nchar(dat$t)==7, paste0(0,dat$t), dat$t)
于 2021-06-11T18:14:41.593 回答