せっかく男女別に身長と体重のデータがあるので、それらについて分析を行ってみましょう。本書はあくまで Stata の使い方について説明した本なので、統計学的な解釈には言及せずに使い方だけをご説明します。
まずは t検定を行ってみます。体重の男女差について t検定を行います。t検定は ``ttest`` で行えます。比較したい群を ``, by( )`` で指定します。
    . ttest weight, by(male)
    
    Two-sample t test with equal variances
    ------------------------------------------------------------------------------
       Group |     Obs        Mean    Std. Err.   Std. Dev.   [95% Conf. Interval]
    ---------+--------------------------------------------------------------------
           0 |      10       52.77    2.128539    6.731031    47.95491    57.58509
           1 |      10       69.21    2.741794    8.670313    63.00763    75.41237
    ---------+--------------------------------------------------------------------
    combined |      20       60.99    2.531745    11.32231      55.691      66.289
    ---------+--------------------------------------------------------------------
        diff |              -16.44    3.471039               -23.73238   -9.147618
    ------------------------------------------------------------------------------
        diff = mean(0) - mean(1)                                      t =  -4.7363
    Ho: diff = 0                                     degrees of freedom =       18
    
        Ha: diff < 0                 Ha: diff != 0                 Ha: diff > 0
     Pr(T < t) = 0.0001         Pr(|T| > |t|) = 0.0002          Pr(T > t) = 0.9999
左下の方にある ``Ho: diff = 0 `` が帰無仮説です。``Ha: diff != 0`` が対立仮説で ``Pr(|T| > |t|) = 0.0002`` となっており、帰無仮説が棄却されていることがわかります。
次に回帰分析をおこなってみます。今回は性別や身長の情報から体重を推定します。回帰分析についての詳細は本書の範囲をこえますので、詳細については統計の専門書をご参照ください。
まずは性別を無視して体重を従属変数、性別を独立変数として回帰分析を行ってみます。回帰分析は ``regress`` で行えます。
    . regress weight male
    
          Source |       SS           df       MS      Number of obs   =        20
    -------------+----------------------------------   F(1, 18)        =     22.43
           Model |    1351.368         1    1351.368   Prob > F        =    0.0002
        Residual |     1084.33        18  60.2405556   R-squared       =    0.5548
    -------------+----------------------------------   Adj R-squared   =    0.5301
           Total |    2435.698        19  128.194632   Root MSE        =    7.7615
    
    ------------------------------------------------------------------------------
          weight |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
    -------------+----------------------------------------------------------------
            male |      16.44   3.471039     4.74   0.000     9.147618    23.73238
           _cons |      52.77   2.454395    21.50   0.000     47.61351    57.92649
    ------------------------------------------------------------------------------
上半分も大切ですが、ひとまず下半分をみてみましょう。``_cons`` のところが定数項で ``male`` のところが性別の項です。``Coef.`` が係数です。女性は 0 となっていましたので、女性であることで予想される体重は ``52.77 kg`` であり、男性はそれに ``16.44`` であることがわかります。
私たちは ``male`` をカテゴリー変数としましたので、カテゴリー変数として扱いたいです。その場合は ``i.male`` と記載すれば Stata はカテゴリー変数として扱ってくれます。
    . regress weight i.male
    
          Source |       SS           df       MS      Number of obs   =        20
    -------------+----------------------------------   F(1, 18)        =     22.43
           Model |    1351.368         1    1351.368   Prob > F        =    0.0002
        Residual |     1084.33        18  60.2405556   R-squared       =    0.5548
    -------------+----------------------------------   Adj R-squared   =    0.5301
           Total |    2435.698        19  128.194632   Root MSE        =    7.7615
    
    ------------------------------------------------------------------------------
          weight |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
    -------------+----------------------------------------------------------------
          1.male |      16.44   3.471039     4.74   0.000     9.147618    23.73238
           _cons |      52.77   2.454395    21.50   0.000     47.61351    57.92649
    ------------------------------------------------------------------------------
さきほど ``male`` と表示されていた部分が ``1.male`` となっています。これは ``male`` が 0(女性)とくらべて 1(男性)の結果が示されています。もっとよく分かりやすくするには ``, allbase`` オプションをつけます。
    . regress weight i.male, allbase
    
          Source |       SS           df       MS      Number of obs   =        20
    -------------+----------------------------------   F(1, 18)        =     22.43
           Model |    1351.368         1    1351.368   Prob > F        =    0.0002
        Residual |     1084.33        18  60.2405556   R-squared       =    0.5548
    -------------+----------------------------------   Adj R-squared   =    0.5301
           Total |    2435.698        19  128.194632   Root MSE        =    7.7615
    
    ------------------------------------------------------------------------------
          weight |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
    -------------+----------------------------------------------------------------
            male |
              0  |          0  (base)
              1  |      16.44   3.471039     4.74   0.000     9.147618    23.73238
                 |
           _cons |      52.77   2.454395    21.50   0.000     47.61351    57.92649
    ------------------------------------------------------------------------------
``male`` が 0 のときは ``Coef.`` (係数)は 0 であり、 1 のときは ``16.44`` であることが分かりやすく表示されています。
説明変数に height も入れてみましょう。
    . regress weight i.male height, allbase
    
          Source |       SS           df       MS      Number of obs   =        20
    -------------+----------------------------------   F(2, 17)        =    144.14
           Model |   2300.0621         2  1150.03105   Prob > F        =    0.0000
        Residual |  135.635901        17  7.97858242   R-squared       =    0.9443
    -------------+----------------------------------   Adj R-squared   =    0.9378
           Total |    2435.698        19  128.194632   Root MSE        =    2.8246
    
    ------------------------------------------------------------------------------
          weight |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
    -------------+----------------------------------------------------------------
            male |
              0  |          0  (base)
              1  |   5.460796   1.615392     3.38   0.004     2.052617    8.868975
                 |
          height |   .6832112   .0626549    10.90   0.000      .551021    .8154014
           _cons |  -58.24499    10.2199    -5.70   0.000    -79.80709   -36.68289
    ------------------------------------------------------------------------------
この結果から体重は、``0.683×身長(cm)`` で予測することができ、 男性であればさらに ``5.46`` を加える必要があることが分かります。
実際にこの回帰式を使って予測した値を表示してみましょう。予測には ``predict`` を用います。データに列が追加されることになりますので、追加する列名を ``p1`` とします。コマンドウィンドウには次のように入力してください。
    . predict p1
    (option xb assumed; fitted values)

一番右に ``p1`` という列が組み込まれているのが分かります。これが身長と性別から予想した体重です。そのすぐ隣にある ``weight`` と比較すると、結構近い値を予測していることがわかります。
## データを保存する
さて、この章では特にデータに変更は加えていませんが、取り込んだデータを Stata 形式で保存しておきましょう。
メニューから [File]>[Save] を選択してください。

下の方にある File format が Stata Data (*.dta) であることを確認します。

``my_test.dta`` という名前で保存しました。
メインウィンドウには次のように表示されます。``(ユーザー名)`` のところには、本書をお読みの方のユーザー名が入ります。ここではデスクトップに保存するようにしましたが、保存場所はそれぞれ適当に決めてください。
    . save "/Users/(ユーザー名)/Desktop/my_test.dta"
    file /Users/(ユーザー名)/Desktop/my_test.dta saved
これを Doファイルに貼り付ければ、コマンドから保存ができるはずです。貼り付けてもう一度実行してみましょう。
    . save "/Users/(ユーザー名)/Desktop/my_test.dta"
    file /Users/(ユーザー名)/Desktop/my_test.dta already exists
    r(602);
ファイルがすでに存在しているとエラーがでました。上書き保存できるように ``, replace`` オプションをつけましょう。
    . save "/Users/(ユーザー名)/Desktop/my_test.dta", replace
    file /Users/(ユーザー名)/Desktop/my_test.dta saved
上手く保存できました。
拡張子が ``.dta`` は Stata で作られたファイルであることが分かります。