せっかく統計ソフトを触っているのですから、簡単な統計量を表示してみましょう。``price`` (価格)の平均を表示してみます。``summarize`` コマンドで表示することができます。 . summarize price Variable | Obs Mean Std. Dev. Min Max -------------+--------------------------------------------------------- price | 74 6165.257 2949.496 3291 15906 ``74`` 個のデータがあり、平均が ``6165.257``、標準偏差が ``2949.496``、最小が ``3291``、最大が ``15906`` というのがわかります。 本書で学習したコマンドは最後に一覧でまとめてありますので、あとで見返すときに利用してください。 複数の変数を一度に渡すこともできます。 ``mpg`` (燃費、mile per gallon)の情報も一緒に表示してみましょう。 ここで ``summarize...`` ともう一度入力する必要はありません。最初解説したように、レビューウィンドウにこれまで入力したコマンドが保存されています。 ![レビューウィンドウ](review_window.png) 繰り返したいコマンドをクリックすれば、コマンドを入力していた場所に同じ内容が自動で入力されます。それを少し修正しましょう。``mpg`` を書き足して実行したのが以下の結果です。 . summarize price mpg Variable | Obs Mean Std. Dev. Min Max -------------+--------------------------------------------------------- price | 74 6165.257 2949.496 3291 15906 mpg | 74 21.2973 5.785503 12 41 同時に表示できましたね。コマンド入力というと難しそうですが、予想したよりも簡単だったのではないでしょうか。これをみると1ガロン(約3.8リットル)あたり、 ``21.2973`` マイル(約34キロ)走るようです。 次はカテゴリ変数を数え上げてみましょう。統計であつかう数字には主に連続変数とカテゴリ変数があるのはご存じだと思います。今扱っている例であすと、車の重さである ``weight`` や燃費を表す ``mpg`` は連続変数ですし、国産を 0、外車を 1 として表した ``foreign`` はカテゴリ変数です。 Stata では連続変数かカテゴリ変数かを定義するシステムは特にありません。ラベルが設定されているからといって特別にカテゴリ変数として扱われるわけでもありません。多くの解析の場合には特にそれで問題は生じません。どうしてもカテゴリ変数として扱いたい場合には ``i.変数名`` とすればカテゴリ変数として扱われます。扱い方の詳細については後ほど解説します。 国産車と外車の割合を見てみます。``tabulate`` コマンドを用いることでカテゴリーのテーブルが表示できます。 . tabulate foreign Car type | Freq. Percent Cum. ------------+----------------------------------- Domestic | 52 70.27 70.27 Foreign | 22 29.73 100.00 ------------+----------------------------------- Total | 74 100.00 国産車のほうが多いですね。``Freq.`` というのは数え上げた数 (Frequency) です。その隣に割合 (``Percent``) が表示されています。``Cum`` というのはその行までの割合の合計なのですが、2行しかないので少し分かりにくいですね。 別の変数を見てみましょう。``rep78`` という1978年の修理記録データを表示してみます。 . tabulate rep78 Repair | Record 1978 | Freq. Percent Cum. ------------+----------------------------------- 1 | 2 2.90 2.90 2 | 8 11.59 14.49 3 | 30 43.48 57.97 4 | 18 26.09 84.06 5 | 11 15.94 100.00 ------------+----------------------------------- Total | 69 100.00 修理回数が ``1`` の車が2台で全体の ``2.90``% です。修理回数が ``2`` は全体の ``11.59``% で、この両者をあわせたのが ``Cum.`` 列に書いてある ``14.49`` になります。そのあとも順番に合計した値が ``Cum.`` に記載されていて、最終的に 100% になっています。 いま2つの表を作りましたが、これを組み合わせたクロス集計表を作ることも簡単です。クロス集計表という言葉をご存じなくても大丈夫です。``tabulate`` のあとに変数を2つ書けばよいだけです。やってみましょう。 . tabulate rep78 foreign Repair | Record | Car type 1978 | Domestic Foreign | Total -----------+----------------------+---------- 1 | 2 0 | 2 2 | 8 0 | 8 3 | 27 3 | 30 4 | 9 9 | 18 5 | 2 9 | 11 -----------+----------------------+---------- Total | 48 21 | 69 うまく表示されたでしょうか。``Repair Record`` の数字が、国産車・外車の別に表示されています。これがクロス集計表です。数字は表示されているのですが、割合が表示されていないので、国産車と外車の比較がしにくくなっています。 そこで**オプション**の出番です。先ほどのコマンドのあとに、``, col`` という文字を追加してください。カンマのあと半角スペースを空けて、``col`` です。全角スペースだとエラーがでるので、注意しましょう。半角スペースは実は無くても動作するのですが、見にくくなるので入れることをおすすめします。このカンマのあとに入力するコマンドを**オプション**と読んでいます。追加で指定することで、メインのコマンドに様々な機能を付け加えることができます。 実行結果は以下の通りです。 . tabulate rep78 foreign, col +-------------------+ | Key | |-------------------| | frequency | | column percentage | +-------------------+ Repair | Record | Car type 1978 | Domestic Foreign | Total -----------+----------------------+---------- 1 | 2 0 | 2 | 4.17 0.00 | 2.90 -----------+----------------------+---------- 2 | 8 0 | 8 | 16.67 0.00 | 11.59 -----------+----------------------+---------- 3 | 27 3 | 30 | 56.25 14.29 | 43.48 -----------+----------------------+---------- 4 | 9 9 | 18 | 18.75 42.86 | 26.09 -----------+----------------------+---------- 5 | 2 9 | 11 | 4.17 42.86 | 15.94 -----------+----------------------+---------- Total | 48 21 | 69 | 100.00 100.00 | 100.00 では大きな表に注目しましょう。たとえば、``Repair Record 1978`` が ``3`` で、``Car type`` が``Foreign`` の車は``3``台あり、``Foreign`` 全体の ``14.29``% を占めることがわかります。 上の方になにやら四角で囲まれた文字があり、これが内容の解説になっていることがわかります。``frequency`` というのは該当する車両の数になります。``column percentage`` というが追加された項目で、全体の列(オプションで指定した ``, column`` です)を100パーセントとしたときに、該当する項目がどれだけの割合かが表示されています。 このように表示してみると、国産車の修理歴は3くらいが一番多いけれども、外車は4か5が多いということがすぐに分かります。