J'ai 133 variables sur le revenu (chaque variable représente un groupe). Je veux les coefficients de Gini de tous ces groupes, donc j'utilise ineqdeco
dans Stata. Je ne peux pas calculer ces coefficients à la main, donc je créé une boucle:Stata: pour la boucle de stockage des valeurs du coefficient de Gini
gen sgini = .
foreach var of varlist C07-V14 {
forvalue i=1/133 {
ineqdeco `var'
replace sgini[i] = $S_gini
}
}
a également essayé de changer l'ordre:
foreach var of varlist C07-V14 {
ineqdeco `var'
forvalue i=1/133 {
replace sgini[i] = $S_gini
}
}
et en spécifiant i
avance:
gen i = 1
foreach var of varlist C07-V14 {
ineqdeco `var'
replace sgini[i] = $S_gini
replace i = i+1
}
}
I Je ne sais pas si cette dernière méthode fonctionne quand même. Dans tous les cas j'obtiens l'erreur: weight not allowed r(101)
. Je ne sais pas ce que cela signifie, ou quoi faire. Fondamentalement, je veux calculer le coefficient de Gini de toutes les 133 variables, et stocker ces valeurs dans un vecteur de longueur 133, donc une seule variable avec tous les coefficients qui y sont stockés.
Modifier: J'ai trouvé que l'erreur est liée à la commande replace
. Je l'ai remplacé cette ligne avec:
replace sgini = $S_gini in `i'
Mais maintenant, il ne « boucle », donc je reçois la première valeur dans toutes les entrées de sgini
.
Dans quel exemple avez-vous utilisé la commande de remplacement révisée? Je pense que les deux premiers exemples ont d'autres problèmes au-delà de la commande de remplacement. –
Je les ai utilisés dans le premier et le deuxième exemple. Que pensez-vous est faux dans ceux-ci? Parce que je pense que ça va mal dans la varlist, parce qu'elle calcule le Gini de la première variable, et ceci 133 fois, et stocke cela dans ma variable. Donc je suppose que le 'je' est correct? Mais le troisième exemple n'est pas différent lorsque l'on considère la varlist .. –