数値変数の丸め方
数値データは、小数点以下の桁数が多い精度で保存されることがあります。 このレベルの精度は不要な場合があり、データを丸めたり、場合によっては floor 関数や ceiling 関数を 使用したりする必要があります。
まず、Stata Web サイトからサンプル データセットを開いて説明してみましょう。
. use https://www.stata.com/users/youtube/rawdata.dta, clear
. describe
変数 weight の変数ラベルから、重量がキログラム単位で測定されていることがわかります。 最初の 5 つの観測値を表示してみましょう。
. list weight in 1/5
変数 weight は小数第2位まで測定されます。 小数第2位までの精度を必要としない場合、値を丸めることができます。 generate コマンドと round() 関数を使用して、小数点 1 桁に丸められた新しい変数 weight1 を作成しましょう。
. generate weight1 = round(weight, 0.1)
. list weight weight1 in 1/5
または、weight を最も近い整数に丸めることもできます。
. generate weight0 = round(weight, 1.0)
. list weight weight1 weight0 in 1/5
場合によっては、丸めるのではなく、floor 関数を使用したい場合があります。 たとえば、誕生日から 1 か月離れている場合でも、通常、年齢は整数のみを使用して表します。 年齢は丸めず、floor 関数を使用します。これを weight に対して実行してみましょう。
. generate weightf = floor(weight)
. list weight weight1 weight0 weightf in 1/5
3 番目の weight の観測は良い例です。 64.98 という値は 65 に非常に近いですが、weightf に表示される floor 値は 64 です。
ceil 関数は floor 関数の逆です。ceil 関数は、引数よりも大きな値で最小の整数を返します。
. generate weightc = ceil(weight)
. list weight weight1 weight0 weightf weightc in 1/5
これでデータセットを保存できます。
. save mydata
参考
さらに詳しい内容につきましては、下記のマニュアルをご覧ください。