问题描述
我的问题是我必须组合两个字符串,一个最初格式化为 %H,%M,%s,另一个表示 ms
df = data.frame(hms = "14:39:12",ms = seq(999,1005,by = 0.65))
如何通过将 ms 转换为 S 并避免出现 ms 大于 1000 ms 的实例的问题,将其组合并转换为表示具有小时、分钟、秒、毫秒的标准时间格式
感谢您的帮助
解决方法
已解决将其转换为表示所需输出的字符串。
# Data frame
df = data.frame(hms = "14:39:12",ms = seq(999,1005,by = 0.65)) %>%
tidyr::separate(.,col = hms,sep = ":",into = c("H","M","S")) %>%
mutate_all(as.numeric) %>%
mutate(S = ifelse(ms >= 1000,S+1,S)) %>%
mutate(ms = ifelse(ms >= 1000,ms-1000,ms))
# Round values to include two points after decimal
df$ms = round(ret$ms,digits = 5)
# Recombine
df = paste(ret$H,ret$M,ret$S,ret$ms,sep = ":")
虽然这按照我需要的方式格式化数据,但我仍然需要检查 R 是否会将其识别为日期,以及是否可以在绘图时用作离散值。