Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我需要将单个数字的向量(例如c(1, 2, 3, 45))转换为每个项目的长度为 2 的字符向量,并且在实际数字之前填充零(例如c("01", "02", "03", "45").
c(1, 2, 3, 45)
c("01", "02", "03", "45")
我可以发誓我以前在 R 中用一些聪明的功能做过这个,但我一辈子都找不到它或记住它是什么......我不认为它是format(),但我可能会感到惊讶。
format()
TL;博士:
我需要什么功能来转换它:
对此:
?
sprintf带有填充字符:
sprintf
sprintf("%02d",c(1,2,3,45))
您也可以使用formatC,它使用基本相同的一组格式化约定(来自 C 标准库):
formatC
formatC(c(1,2,3,45),flag=0,width=2)
另外,几乎重复(对不起,在我回答之前没有看到它):
将数字格式化为固定宽度,前导零
正则表达式怎么样
sub('(^[0-9]$)','0\\1',c(1,2,3,45))