r - 如何将时间格式从 1730 更改为 17 :30:00 in R?

标签 r dataframe date time dataset

在数据集中,我发现时间列有 1700、1410、845、1030 等。

数据集太大。

如何在 R 中将此格式(1700、1410、845、1030)转换为 17:00:00、14:10:00、8:45:00、10:30:00 格式?

最佳答案

我们可以将subsprintf一起使用。 sprintf 用于位数不同(3 或 4),对于 3 位数字,sprintf 在前面补一个 0 (%04d) 以使其一致,同时在末尾附加 :00,然后使用 sub 捕获第一个数字或字符 ((..)),并替换为捕获组的反向引用 (\\1),后跟 :

sub("^(..)", "\\1:", sprintf("%04d:00", df1$Time))
#[1] "17:30:00" "14:10:00" "08:45:00" "10:30:00"

数据

df1 <- structure(list(Time = c(1730, 1410, 845, 1030)), class = "data.frame",
    row.names = c(NA, 
-4L))

关于r - 如何将时间格式从 1730 更改为 17 :30:00 in R?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61415397/

相关文章:

c++ - 如何使用 RcppArmadillo 找到一个 vector 中元素的索引,这些元素也在另一个 vector 中?

r - 有什么办法可以在ggplot中设置线端样式或线连接样式吗?

python - Pandas Python : sort df while excluding given rows by label

python - 如何使用 Pandas Merge 函数删除重复的列名

java - 如何测试java.sql.Timestamp是否在几毫秒之内?

ruby-on-rails - Time 对象适合创建日历吗?

r - 使用 ifelse 添加具有条件值的新列

json - 使用每个记录的新行保存R JSON对象

python - 使用 Google 协作中的所有可用 RAM 后,您的 session 崩溃

php - 如何调整sql查询中的时间戳?