更改R中字符串的前两个字符

更改R中字符串的前两个字符,r,substr,R,Substr,在R中,我想查找并替换字符串中的两个字符(仅前两个字符) 以下是我开始的数据 time <- c("153500", "153800", "161400", "161700", "163000", "161800", "201700", "201800") from <- c("15", "16", "17", "18") to <- c("10","11", "12", "13" ) repl <- data.frame(from,

在R中,我想查找并替换字符串中的两个字符(仅前两个字符) 以下是我开始的数据

time <-  c("153500", "153800", "161400", "161700", "163000", "161800", 
                "201700", "201800")

from <- c("15", "16", "17", "18")
to <- c("10","11", "12", "13" )
repl <- data.frame(from, to) 
试一试


v1@grrgrrbla谢谢,但对我来说这不合适。
我已从数值转换中逃脱,因为对数值变量的转换忽略了0。另一个0*小时的示例

>从测试开始的时间[substr(时间,1,2)%in%from]cbind(时间,测试)
时间测试
[1,] "053500" "3500"  
[2,] "053800" "3800"  
[3,] "061400" "11400" 
[4,] "061700" "11700" 
[5,] "163000" "113000"
[6,] "161800" "111800"
[7,] "201700" "151700"

[8,][201800”“151800”
我们可以查看您的代码吗?你发现了什么样的问题?我有一个29小时格式的数据集(05:29)。我想把它转换成24小时(00:24)。对于每小时(29小时格式),定义24小时模拟。@moseno发布的问题和您关于转换为24小时的评论令人困惑。在预期输出中,您仅从
15:18
和左
20
[1] "103500" "103800" "111400" "111700" "113000" "111800" "201700" "201800"
v1 <- setNames(to, from)[substr(time, 1, 2)]
as.character(ifelse(!is.na(v1), paste0(v1, sub('^.{2}','', time)), time))
#[1] "103500" "103800" "111400" "111700" "113000" "111800" "201700" "201800"