stringr パッケージを使うと簡単に書ける。
library(stringr)
hour <- as.POSIXlt(Sys.time())$hour # 9
hourStr <- str_sub(paste0("0", hour), start = -2)
print(hourStr)
結果
[1] "09"
dplyr 使って書くと見やすい。
library(dplyr)
library(stringr)
hour <- as.POSIXlt(Sys.time())$hour
hourStr <- paste0("0", hour) %>% str_sub(start = -2)
print(hourStr)
参考:
stringr — Rの文字列をまともな方法で処理する
追記
よく考えたら sprintf()
の方が簡単だった。
sprintf("%02d", 9)
sprintf("%02d", 10)
結果
[1] "09"
[1] "10"
追記2
stringr パッケージに str_pad()
というものがありました。
str_pad(9, 2, pad=0)
str_pad(10, 2, pad=0)
結果
[1] "09"
[1] "10"