interval是25小时内5分钟间隔的子集
> interval
[1] 45 50 55 100 105 110 115 120 125 130 135 2035 2040 2045 2050 2055 2100 2105 2110 2115 2120 2125
Run Code Online (Sandbox Code Playgroud)
我想插入:一个时间fomat,我可以转换为时间格式
> gsub('^([0-9]{1,2})([0-9]{2})$', '\\1:\\2', interval)
[1] "45" "50" "55" "1:00" "1:05" "1:10" "1:15" "1:20" "1:25" "1:30" "1:35" "20:35" "20:40" "20:45"
[15] "20:50" "20:55" "21:00" "21:05" "21:10" "21:15" "21:20" "21:25"
Run Code Online (Sandbox Code Playgroud)
几乎所有我的例子都让我工作了.
我如何得到它以使其适用于数字"5"......"45" "50" "55"
在这里发现了这个副本,但这不使用gsub
一个简单的方法是确保所有输入至少有4个字符:
gsub('^([0-9]{1,2})([0-9]{2})$', '\\1:\\2', sprintf('%04d',interval))
# "00:45" "00:50" "00:55" "01:00" "01:05" "01:10" "01:15" "01:20" "01:25"
# "01:30" "01:35" "20:35" "20:40" "20:45" "20:50" "20:55" "21:00" "21:05"
# "21:10" "21:15" "21:20" "21:25"
Run Code Online (Sandbox Code Playgroud)