首页 > 解决方案 > 当其他变量占据最高值时,如何根据国家/地区的条件创建一个变量?

问题描述

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

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

win1 = 2当投票在给定选区和给定国家中获得最高价值时,我想创建一个变量。

我努力了 :

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

标签: if-statementconditional-statementsstata

解决方案


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

错误:

in用于观察数。它不是if.

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

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

此代码假定没有缺失值。

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


推荐阅读