2022年3月4日金曜日

頭に0をつけて桁数を揃える

午前
・PCR産物精製
・卒論論文化

午後
・データ整理

str_replace_all()による置換が、これまで使っていたコマンドで上手くいかなくなった、、、というよりも、今までミスに気づいていなかったのか?

1文字ずつ変換されるので、「1」→「A」、「11」→「B」に変換したい場合、「11」→「AA」に変換されてしまう。

これまではできていた気がするのだが、、、。

改善方法が分からないので、頭に文字をつけて、「A01」と「A11」とすることで、別物として認識することにした。

で、最近の大発見!頭に0をつけて桁数を揃える関数があった。
formatC(x, width=2, flag="0")
#「x」は対象、「width」は桁数
とすればよい。

Aをつけるのは、
str_c("A", x)
とする。

上記とは逆に「001」を「1」にする方法もあった。
str_remove(x, "^0+") #「x」は対象