ここでは,統計ソフトStataの前処理につかうコマンドである「substr」の使い方をご紹介します。
このコマンドは,文字列から部分的に情報を取り出す際に利用できます。
データの一部を抽出する【substr】
ある文字列から部分的に必要な情報を取り出すことがあります。例えば,下記のような「日付」という列があったとしてます。
日付
2021/08/31
2022/09/01
ここから,年に関する情報(2021や2022)だけを取り出す場合,
gen year = substr (日付, 1 , 4)
によって
year
2021
2022
という新しい列を作成することができます。
ここで,「substr (日付, 1 , 4)」の1は元の列の1文字目から,4はそこから4文字までを取り出すことを表します。
逆に後ろから日(day) 取り出したい場合は,
gen day = substr( 日付, -2, 2)
によって,
day
31
01
という列を作ることができます。これは,マイナスを付けることにより,後ろから2文字目から2文字を取り出すことを要求しています。
なお,注意点としては,元となる列は文字列でなければなりません。もし,もともと数字の列から一部を取り出したい場合は「tostring」などで一度文字列に変換する必要があります。
さらに,このコマンドによって作成されたyearやdayという列は文字列になります。もし,新しく作成する列を直接数字列にしたい場合は
gen year = real ( substr ( 日付, 1, 4 )
というように,前に「real」をつけて挙げると良いです。