4

1桁の数字のベクトル(例c(1, 2, 3, 45))を、各項目の長さが2で、実際の数字の前にゼロが詰め込まれた文字ベクトル(例)に変換する必要がありc("01", "02", "03", "45")ます。

私は以前にRでこれをいくつかの巧妙な機能で行ったことがあると誓うことができましたが、それを見つけることも、それが何であるかを思い出すこともできませんformat()

TL; DR:

これを変換するにはどの関数が必要ですか?

c(1, 2, 3, 45)

これに:

c("01", "02", "03", "45")

4

2 に答える 2

10

sprintfパディング文字付き:

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

を使用することもできますformatC。これは、基本的に同じフォーマット規則のセット(C標準ライブラリから)を使用します。

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

また、ほぼ重複しています(申し訳ありませんが、私が答える前にそれを見ませんでした):

数値を固定幅としてフォーマットし、先行ゼロを使用

于 2012-04-13T20:17:14.637 に答える
2

正規表現はどうですか

sub('(^[0-9]$)','0\\1',c(1,2,3,45))
于 2012-04-13T20:44:56.560 に答える