1

重複の可能性:
number を固定幅としてフォーマットし、先頭にゼロを付けて
sprintf を gsub なしで使用する

これはおそらく以前に行われたことがありますが、R のスレッドが見つかりませんでした。

Rの先行ゼロをインクリメントするにはどうすればよいですか?

たとえば、0001、0002、0003....9999 という要素を持つ xというベクトルがあります。

4

2 に答える 2

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"
于 2012-10-24T04:36:48.373 に答える
0

要素がすべて 4 桁の場合、正規表現でそれを行うことができます。

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

より一般的に:

gsub("^0(\\d*)$","1\\1",x)
于 2012-10-24T04:28:13.293 に答える