作者summerslam (BB)
看板Statistics
标题[程式] SAS 加总计算问题
时间Mon Mar 19 14:40:59 2012
[软体程式类别]:
SAS
[程式问题]:
计算加总问题
[软体熟悉度]:
低(1~3个月)
[问题叙述]:
各位前辈好,在处理资料时,遇到需要计算某个变数内各种类别的次数,想请教一下
是否有方法可以处理,谢谢
资料:
ID date X1 X2
1 0101 N G
1 0101 N L
1 0101 G N
1 0102 G N
1 0102 L L
2 0101 G N
2 0101 G G
2 0103 L N
希望的结果:
ID DATE X1_N X1_G X1_L X2_N X2_G X2_L
1 0101 2 1 0 1 1 1
1 0102 0 1 1 1 0 1
2 0101 0 2 0 1 1 0
2 0103 0 0 1 1 0 0
想知道每个ID 每天的 X1变数及X2变数的 N,G,L各有几个,有爬文过,但
好像都是变数内为数值做加总,如果变数内是文字,不知道有没有方法
可以产生一个新的资料是计算出现的次数(因为id有上百万个),请高手指点一下,谢谢!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.87.140
※ 编辑: summerslam 来自: 140.115.87.140 (03/19 14:47)
1F:推 west1996:proc freq 03/19 15:16
2F:→ summerslam:w大,freq我有试过,但资料数很多,所以是想看有没 03/19 15:31
3F:→ summerslam:方法可以弄成一个新的资料,不过还是谢谢你! 03/19 15:31
※ 编辑: summerslam 来自: 140.115.87.140 (03/19 15:33)
※ 编辑: summerslam 来自: 140.115.87.140 (03/19 15:50)
4F:推 moonbat:if then ? 03/19 16:33
※ 编辑: summerslam 来自: 140.115.87.140 (03/19 16:57)
5F:→ summerslam:m大的意思是将id分开来个别加总吗? 可是id很多@@ 03/19 16:58
6F:推 tew:freq後再transpose比较快一点吧 03/19 17:21
感谢t大,目前大致上用id较少的资料可以用t大说的方法弄出来,但在id很多的情况下,
会一直跑出output window is full,这样就不知道该怎样处理了,可以有办法不要有
output结果,直接汇出资料就好吗?
程式码:(只先算x1的)
PROC FREQ DATA=A;
TABLE X1/ OUT=B;
BY ID DATE ;
RUN;
PROC TRANSPOSE DATA=B OUT=C;
BY ID DATE;
ID X1;
RUN;
这程式码在id数很多时似乎就会出现error了,恳请高手指点,感谢。
※ 编辑: summerslam 来自: 114.37.59.199 (03/19 21:07)
7F:推 tew:noprint 03/19 22:28
8F:推 west1996:是只有X1和X2要计算,然後里面都只可能有N G L吗? 03/19 23:24
9F:→ summerslam:感谢t大指点,是的w大,只会出现这三种可能 03/19 23:54
※ 编辑: summerslam 来自: 114.37.59.199 (03/19 23:55)
10F:推 tew:proc freq data=a noprint; 03/20 10:13
11F:→ summerslam:谢谢t大! 03/20 14:35