収入に関する 133 の変数があります (各変数はグループを表します)。これらすべてのグループのジニ係数が必要なのでineqdeco
、Stata で使用します。これらの係数をすべて手作業で計算することはできないため、for ループを作成しました。
gen sgini = .
foreach var of varlist C07-V14 {
forvalue i=1/133 {
ineqdeco `var'
replace sgini[i] = $S_gini
}
}
また、順序を変更してみました:
foreach var of varlist C07-V14 {
ineqdeco `var'
forvalue i=1/133 {
replace sgini[i] = $S_gini
}
}
そしてi
事前に指定します:
gen i = 1
foreach var of varlist C07-V14 {
ineqdeco `var'
replace sgini[i] = $S_gini
replace i = i+1
}
}
とにかく、この最後の方法が機能するかどうかはわかりません。すべての場合で、エラーが発生します: weight not allowed r(101)
。これが何を意味するのか、何をすべきかわかりません。基本的に、133 個の変数すべてのジニ係数を計算し、これらの値を長さ 133 のベクトルに格納したいので、すべての係数が格納された単一の変数になります。
replace
編集:エラーはコマンドに関係していることがわかりました。この行を次のように置き換えました。
replace sgini = $S_gini in `i'
しかし、今は「ループ」しないので、 のすべてのエントリで最初の値を取得しますsgini
。