如何根据国家/地区的条件创建其他变量何时占据最高值的变量?

问题描述

我正在尝试在其他变量的条件下创建一个新变量。我有非洲国家,每个国家都分为选区;对于每个我有一个候选人的票数。

我试图一次为一个国家工作 (country=ctr) 并为每个选区创造价值 (cst)

当特定选区和特定国家/地区的选票获得最高值时,我想创建一个变量 win1 = 2

我试过了:

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

解决方法

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

错误:

in 用于观察编号。它不是 if 的替代品。

您需要 == 来测试相等性,而不是 =

max() 作为 Stata 函数需要两个或多个参数并且按行工作,而不是跨组观察。

此代码假定没有缺失值。

就您可以同时与多个国家/地区合作而言,这也比您想象的要容易。