0

我对以下关于转换不规则时间字符串的问题有类似的问题。我有一个我想订购的角色类的时间序列。

R:变换不规则时间字符串

我的毫秒不是逗号,而是用“.”分隔。但是,当我尝试应用 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)

头(时间。新,n = 10)

[1] "::::::::::::" "::::::::::::" "::::::::::::" ":::: ::::::::" "::::::::::::::"

如果我能完成这一步,理论上我会计算十进制分钟作为另一列,然后根据十进制分钟排序。gsub 部分缺少什么?:p

任何帮助是极大的赞赏。

4

2 回答 2

1

你应该在in\之前使用两个。.gsub()

gsub("\\.", ":", time)
于 2013-07-22T10:42:17.273 回答
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"
于 2013-07-22T10:42:57.383 回答