我对以下关于转换不规则时间字符串的问题有类似的问题。我有一个我想订购的角色类的时间序列。
R: transform irregular time strings
而不是逗号,我的毫秒数用'。'分隔。但是,当我尝试应用gsub步骤时,我的所有数据都被替换为冒号。
头(时间,n = 5)
[1]“05:48:59.306”“05:48:56.246”“05:48:53.214”“05:48:52.662”“05:48:50.203”
time.new< - gsub(“。”,“:”,time)
head(time.new,n = 10)
[1]“:::::::::::::”“:::::::::::::”“:::::::::::::”“: :::::::::::“”::::::::::::“
如果我能完成这一步,理论上我会将小数分钟计算为另一列,然后根据小数分钟进行排序。我对gsub部分缺少什么? :P
非常感谢任何帮助。
答案 0 :(得分:1)
您应该在\
{/ 1}} .
之前使用两个gsub()
。
gsub("\\.", ":", time)
答案 1 :(得分:1)
使用fixed=TRUE
:
gsub(".", ":", time,fixed=TRUE)
例如:
time <- c("05:48:59.306", "05:48:56.246" ,"05:48:53.214" ,"05:48:52.662", "05:48:50.203")
gsub(".", ":", time,fixed=TRUE)
"05:48:59:306" "05:48:56:246" "05:48:53:214" "05:48:52:662" "05:48:50:203"