ライトストーン > Stata > コマンド早見表

gsort コマンド

 Stataの gsort は、データを昇順(小さい順)または降順(大きい順)に並べ替えるためのコマンドです。

 標準の sort コマンドが昇順にしか対応していないのに対し、 gsort は降順での並べ替えができる点が最大の特徴です。

1. 基本的な使い方と構文

  • 昇順と降順の指定 : 変数名の前に「 - 」を付けるとその変数は降順になり、「 + 」を付けるか何も付けない場合は昇順になります。
    例: gsort price (価格の安い順)
    例: gsort -price (価格の高い順)
  • 複数変数の組み合わせ : 複数の変数を指定して、それぞれ異なる方向でソートできます。
    例: gsort id -time (IDは昇順、同じID内では時間は降順=新しい順)
  • データ型 : 数値変数だけでなく、文字列変数にも使用可能です(逆アルファベット順など)。

2. 主なオプション

  • mfirst : 通常、降順ソートでは欠損値は最後に配置されますが、このオプションを指定すると欠損値をデータの先頭に配置します。
  • generate(newvar) : 並べ替えた順序に基づいて、グループごとに 1, 2, 3... と番号を振った新しい変数を作成します。

3. 注意点と再現性

  • タイ(同順位)の扱い : ソートに使用する変数の値が同じ観測値が複数ある場合、Stataは処理速度向上のために内部でランダムな「かき混ぜ」を行うため、実行するたびにタイデータの並び順が変わる可能性があります。
  • 再現性の確保 : 常に同じ結果を得るには、観測値を一意に識別できる変数(IDなど)をソートリストの最後に含めるか、 set seed で乱数シードを固定する方法があります。また、 isid コマンドを使用して変数が一意の識別子になっているか確認することも有効です。

  gsort は、最新のデータだけを抽出したり、ランキングを作成したりする際によく使われます。