En utilisant si qualificatif avec egen dans Stata

Je suis à l'aide de Stata, et je suis en train de calculer le prix moyen des entreprises " les concurrents dans un marché. J'ai des données qui ressemble à:

Market    Firm   Price
----------------------
1         1      100
1         2      150
1         3      125
2         1      50
2         2      100
2         3      75
3         1      100
3         2      200
3         3      200

Et je suis en train de calculer le prix moyen de chaque entreprise à ses rivaux, donc je veux générer un nouveau champ, qui est la moyenne des valeurs des autres entreprises dans un marché. Il devrait ressembler à:

Market    Firm   Price    AvRivalPrice
------------------------------------
1         1      100      137.2
1         2      150      112.5
1         3      125      125
2         1      50       87.5
2         2      100      62.5
2         3      75       75
3         1      100      200
3         2      200      150
3         3      200      150

À faire la moyenne par groupe, je pourrais utiliser le egen commande:

egen AvPrice = mean(price), by(Market)

Mais qui ne serait pas exclure la firme de prix dans la moyenne, et au meilleur de ma connaissance, à l'aide de la if qualificatif ne ferait que changer les observations qu'il a opéré, pas les groupes qu'il était en moyenne de plus de. Est-il un moyen simple de faire cela, ou dois-je besoin pour créer des boucles et de générer chaque moyenne à la main?

U peut donner un petit exemple de ur calcul... Il wud faire beaucoup plus clair
Je l'ai fait (le tableau de données est l'exemple de ce que j'ai).
Le if d'être parlé n'est pas le if commande, mais le if qualificatif. J'ai modifié en conséquence.

OriginalL'auteur prototoast | 2012-03-06