如何根据国家条件为其他变量占用最高值时创建变量?
How to create a variable for when other variable takes up highest value, with conditions on countries?
我正在尝试在其他变量的条件下创建一个新变量。我有非洲国家,每个国家都分为选区;对于每个人,我都有一个候选人的票数。
我正在尝试一次为一个国家工作 (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 函数需要两个或更多参数并且按行工作,而不是跨组观察。
此代码假设没有缺失值。
它也比您想象的要容易,因为您可以同时与多个国家/地区合作。
我正在尝试在其他变量的条件下创建一个新变量。我有非洲国家,每个国家都分为选区;对于每个人,我都有一个候选人的票数。
我正在尝试一次为一个国家工作 (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 函数需要两个或更多参数并且按行工作,而不是跨组观察。
此代码假设没有缺失值。
它也比您想象的要容易,因为您可以同时与多个国家/地区合作。