Как создать переменную для случаев, когда другая переменная принимает наибольшее значение, с условиями по странам?

#if-statement #conditional-statements #stata

Вопрос:

Я пытаюсь создать новую переменную в условиях других переменных. У меня есть страны в Африке, где каждая страна разделена на избирательные округа; для каждой у меня есть количество голосов за кандидата.

Я пытаюсь работать на одну страну за раз ( country=ctr ) и создавать ценность в каждом избирательном округе ( cst )

Я хотел бы создать переменную win1 = 2 , когда голоса принимают наибольшее значение в данном избирательном округе и в данной стране.

Я пытался :

 by cst : replace win1=2 if cv1=max(cv1) in (ctr==566)
 

Ответ №1:

 by ctr cst (cv1) : replace win1=2 if cv1==cv1[_N] 
 

Ошибки:

in предназначен для номеров наблюдений. Это не альтернатива if .

Вам нужно == проверить равенство, а не = .

max() поскольку функция Stata требует двух или более аргументов и работает по строкам, а не между группами наблюдений.

Этот код не предполагает пропущенных значений.

Это также проще, чем вы думаете, поскольку вы можете работать сразу с несколькими странами.