これは、"1:" から "9:" までの任意のインスタンスを見つけて "01:" から "09:" に置き換え、"10:" またはそれ以上はそのままにしておくために書いたものです。サンプル スクリプトを次に示します。
region = c("18:1-100","16:1-100","X:1-100","2:1-100","4:1-100")
to.replace=grep("^[[:digit:]]:", region)
replacement=grep("^[[:digit:]]:", region, value=T)
replacement=paste(0,replacement,sep="")
for (i in length(to.replace)){
region[to.replace[i]]=replacement[i]
}
「地域」の最後の出現でのみ機能するため、for ループに何か問題があると思います。何がわからないのですか。