我有 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
。