1

Stata で、次のようなデータがある場合:

Location    Person 1 Gifts    Person 2 Gifts    Person 3 Gifts     Person 4 Gifts
   1               2                 7                 1                        
   2               4                 1                 12                  2
   3               5                 5                 5                   5
   4               4                                   1

新しい変数「over_three_less_than_six」を作成して、場所ごとに 3 つ以上 6 つ未満のギフトを贈った人の数をカウントする最も簡単な方法は何ですか。欠損値を無視したいです。したがって、上記の例では、新しい列は次のように出力されます。

over_three_less_than_six
          0
          1
          4
          1
4

1 に答える 1

2

変数の命名のスタイルが異なるようにお願いします! gift1...などの変数を想定しています。gift4

gen count = 0 

quietly forval j = 1/4 { 
    replace count = count + inrange(gift`j', 3, 5) 
}

テクニックの詳細なレビューもご覧ください

SJ-9-1 pr0046 . . . . . . . . . . . . . . . . . . . 話す Stata: Rowwise (インストールされている場合は、rowsort、rowranks を支援します) . . . . . . . . . . . NJ Cox Q1/09 SJ 9(1):137--157 は、関数、egen 関数、Mata を行単位で使用する方法を示しています。rowsort と rowranks が導入されました

http://www.stata-journal.com/sjpdf.html?articlenum=pr0046で無料で入手できる .pdf

inlist(gift`j', 3, 4, 5)

呼び出しの代わりにも機能しinrange()ます。

于 2013-01-28T15:23:14.147 に答える