转换为R中的字符时填充数字

时间:2012-04-13 20:09:06

标签: r parsing format

我需要将一位数字的数字(例如c(1, 2, 3, 45))转换为一个字符向量,其中每个项目的长度为2,并且在实际数字之前填充零(例如{{1 }}

我可以发誓我之前已经在R中做过一些聪明的功能,但我不能为我的生活找到它或记住它是什么......我不认为它是c("01", "02", "03", "45") ,但我可能会感到惊讶。

TL; DR:

转换它需要什么功能:

format()

对此:

c(1, 2, 3, 45)

谢谢,

2 个答案:

答案 0 :(得分:7)

带有填充字符的

sprintf

sprintf("%02d",c(1,2,3,45))

您也可以使用formatC,它基本上使用相同的格式约定(来自C标准库):

formatC(c(1,2,3,45),flag=0,width=2)

另外,近乎重复(抱歉,在我回答之前没看到):

Format number as fixed width, with leading zeros

答案 1 :(得分:2)

正则表达式怎么样

sub('(^[0-9]$)','0\\1',c(1,2,3,45))