作者frank1206 ( )
看板Statistics
标题[问题] SAS 将一串资料按照数值大小分为十组
时间Mon Mar 14 21:17:59 2011
资料:
stkno a1 a2 a3
1101 12 13 14
1102 23 24 25
1102 23 23 26
2330 15 14 16
2303 34 35 56
2498 98 78 76
3049 12 14 20
5738 57 12 96
6374 56 73 35
7384 36 46 37
目的:
欲将a1 a2 a3 按照数值大小分为十组,并留下stkno然後分别存档
例如:
将a1按数值大小分为 十个档案
每个档案里面只有一个stkno
b1(最大的)里面只有一个值 2498 (a1里面最大的)
b2里面的只有一个值5738
以此类推
之後再将a2 a3也分为十组
程式码:
有问过同学可以使用ntile处理,但是跑不出来。
以下是部分程式码
proc sql;
create table abc as
select ntile(10) over ( order by a1) as ntile
from a08;
quit;
会出现错误
ERROR 22-322: Syntax error, expecting one of the following: !, !!, &, *, **, +, ',', -, /, <, <=, <>, =, >, >=, ?, AND,
BETWEEN, CONTAINS, EQ, EQT, GE, GET, GT, GTT, LE, LET, LIKE, LT, LTT, NE, NET, OR, ^=, |, ||, ~=.
ERROR 76-322: Syntax error, statement will be ignored.
条件:
1.因为每个栏位(从a1~a?)的数值不一定相同,所以不能使用obs
2.每组组数必须相等
3.後续要将每个分组档案与另外的档案相对照,并筛选出符合的资料。
(将两边的stkno相对照)
希望有人能帮一下,谢谢。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.117.133.41
1F:推 lsshno1:所以是有30个资料吗? 每个里面都只有stkno吗? 03/14 23:10