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;
我想为另一个变量(局数)设置一个计数变量。此外,我希望每次局变量从 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;