sas中的计数变量

Count variable in sas

我想为另一个变量(局数)设置一个计数变量。此外,我希望每次局变量从 1 变为 2 时重置计数变量。例如

innings  count
1         1
1         2
1         3
1         4
1         5
1         6
1         7
1         8
1         9
1         10
2         1
2         2
2         3
2         4
2         5
2         6
2         7
2         8
2         10
2         11
2         12
1         1
1         2
1         3
1         4
1         5
1         6

我试过以下代码:

data T20_SCORECARD_data_innings;
   set T20_SCORECARD_data_innings;
   count + 1;
   by innings;
   if first.innings then count = 0;
run;

但是好像不行。

如有任何帮助,我们将不胜感激。

Ankit

在使用 by 子句的数据步骤中,需要对数据进行排序。在你的情况下它不是。如果您更改数据,那么第三组(第二组 1)到 3,您的代码应该可以工作。

如果您的数据确实没有排序,只是简单地分组到容器 1 和 2 中,那么您可以使用您的代码,但将 NOTSORTED 选项添加到 BY 语句中。

data T20_SCORECARD_data_innings;
  set T20_SCORECARD_data_innings;
  by innings NOTSORTED;
  count + 1;
  if first.innings then count = 0;
run;