1

tabulate twoway次の表のように、頻度カウント テーブルの 5 行 5 列のグリッドを作成したいと考えています。

ここに画像の説明を入力

ネストされたループを使用すると、各サブテーブルを簡単に生成できforeachますが、長いリストの出力は、5 行 5 列のグリッドよりも解釈が難しくなります (また、冗長なエントリがあり、対称行列の両方の半分が提供されます)。

Stata でこのようなテーブルを作成することは可能ですか? 明確にするために、後でLaTeXを理解できます。明確で簡潔なコンソール出力を得ることに興味があるだけです。

ありがとう!autoデータを使用して基本を実行するが、マトリックスの代わりにリストを生成するコードを次に示します。パッケージxtileからですegenmore

sysuse auto, clear
global vars price mpg headroom trunk weight
foreach x of global vars {
    egen d_`x' = xtile(`x'), nquantiles(2)
}

* can make diagonal entries
tabulate d_price d_price

* can make off-diagonal entries
tabulate d_price d_mpg

* crude solution that generates list output with redundant entries
foreach x of global vars {
    foreach y of global vars {
        tabulate d_`x' d_`y'
    }
}
4

1 に答える 1

3

ループにいくつかの行列演算を追加しました。

tempname col all tabout
foreach x of global vars {
    foreach y of global vars {
        qui tabulate d_`x' d_`y', matcell(`tabout')
        mat colnames `tabout' = `x' `x'
        mat rownames `tabout' = `y' `y'
        mat `col' = (nullmat(`col') \ `tabout' )
    }
    mat `all'= (nullmat(`all') , `col')
    mat drop `col'
}
mat list `all'

meantabこれは、http://code.google.com/p/kk-adofiles/にある という名前の私のプログラムに少し似ています。

于 2012-01-09T13:23:34.407 に答える