【发布时间】:2014-06-02 13:20:20
【问题描述】:
我有一个数据集如下:
1 16.60 4923 1198 29663 1927 Davis California
2 10.09 3055 883 30282 1989 Palo Alto California
3 9.61 5128 1096 53388 2489 Boulder Colorado
4 8.85 4674 1210 52815 2600 Berkeley California
5 7.28 4793 1051 65794 3408 Eugene Oregon
6 6.64 5112 1215 76972 3579 Fort Collins Colorado
7 6.59 3125 1608 47451 2701 Santa Barbara California
8 6.41 2433 1078 37968 2671 Chico California
其中变量分别为bike_share、total_biker、error_biker、total_worker、error_worker、city、state。对于这个数据集,我想计算骑自行车上班的加利福尼亚人的平均百分比(即,我想将来自state 加利福尼亚的total_biker 相加,然后将该数字除以total_worker 的总和)。
首先我想识别加利福尼亚人,所以我编写了以下do 循环来查找来自加利福尼亚的total_bike 的数量。
total_bike_cali=0;
做 i=1 到 8;
如果 state="California" 那么 total_bike_cali=total_bike_cali+total_bike;
否则total_bike_cali=0;
结尾;
过程打印;
运行;
但是这给了我一个错误
Statement is not valid or it is used out of proper order.
对于循环的几乎每一行。谁能告诉我我做错了什么?
【问题讨论】:
-
SAS 为您处理逐行迭代。你像矩阵语言一样思考。您也不在该代码中的数据步骤中,因此没有任何代码是有效的。