在R中增加前导零

时间:2012-10-24 04:26:46

标签: r

  

可能重复:
  Format number as fixed width, with leading zeros
  sprintf use without gsub

这可能以前已经完成,但我找不到R的线程。

如何增加R中的前导零?

例如,有一个名为x的向量,其元素为:0001,0002,0003 .... 9999

2 个答案:

答案 0 :(得分:1)

使用sprintf

sprintf("%04s", as.character(1:20))
[1] "0001" "0002" "0003" "0004" "0005" "0006" "0007" "0008" "0009" "0010" "0011" "0012" "0013" "0014" "0015" "0016"
[17] "0017" "0018" "0019" "0020"

在Windows上,我可以找到一个Rhelp帖子,说明你可以通过

获得成功
head( sprintf("%04d", 1:999)  )
[1] "0001" "0002" "0003" "0004" "0005" "0006"

答案 1 :(得分:0)

如果元素都是4位数,那么正则表达式可以这样做:

gsub("0(\\d{3})","1\\1",x)

更一般地说:

gsub("^0(\\d*)$","1\\1",x)