2016-03-21 13 views
1

Iは次のようになり<code>data.frame</code> 2の列を有する零

>df 
27-01-1345 27-01-1345 
     <NA> 1-01-325 
54-01-1265 54-01-1265 

Iの場合、これを第2列に数字の第三のグループにゼロを追加したいです数字のグループには3桁しかありません。所望の出力は、次のようになります。

>df 
27-01-1345 27-01-1345 
     <NA> 1-01-325 
54-01-1265 54-01-1265 

おかげ

答えて

2

は、我々は「325をフォーマットする必要があると仮定すると、私はbashのスクリプトでそれを行う方法を知っているが、私はR

の内側にそれを実行する必要があります2番目の列でデータセット "df"の "V2"を "0325"とし、subを使用します。 patternでは、-の後に文字列の最後に3文字($)をマッチさせることができます。これはキャプチャグループに配置することができます(つまり、角括弧内)。 replacementの部分は-0になり、キャプチャされたグループの後方参照(\\1)になります。

df$V2 <- sub("-(.{3})$", "-0\\1", df$V2) 
df$V2 
#[1] "27-01-1345" "1-01-0325" "54-01-1265"