问题描述
我正在尝试在其他变量的条件下创建一个新变量。我有非洲国家,每个国家都分为选区;对于每个我有一个候选人的票数。
我试图一次为一个国家工作 (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 函数需要两个或多个参数并且按行工作,而不是跨组观察。
此代码假定没有缺失值。
就您可以同时与多个国家/地区合作而言,这也比您想象的要容易。