SAS中文论坛
标题:
求助一个数据处理的编程问题[急]
[打印本页]
作者:
shiyiming
时间:
2006-2-6 16:25
标题:
求助一个数据处理的编程问题[急]
各位大哥好:
我是一个SAS的初学者,我想请大家帮忙编一个程序。
我有一组数据如下:
headno BADHEAD
2 0
3 0
2 1
1 1
1 0
2 0
3 0
1 1
2 1
3 1
最终我想得到如下的结果:
BADHEAD PFCODE N Rows % of Total
0 5105 3 30.00%
0 5109 2 20.00%
1 8250 2 20.00%
1 8700 3 30.00%
老板急着要结果,哪位大哥帮帮忙吧!小弟万分感激!
作者:
shiyiming
时间:
2006-2-6 21:02
标题:
请把过程讲述一下
从原始数据是怎么得到结果的?请把过程讲述一下
作者:
shiyiming
时间:
2006-2-7 08:56
标题:
解释过程
我是用JMP软件里的SUMMARY功能得出的,其实就是算出相同记录频数和其概率(也就是频数占总数的百分比),这位大哥要是会的话就帮帮忙吧,小弟先谢过了。
作者:
shiyiming
时间:
2006-2-7 10:52
标题:
崂山道士
我就不信有人能从你的原始数据算出PFCODE来 <!-- s:oops: --><img src="{SMILIES_PATH}/icon_redface.gif" alt=":oops:" title="Embarassed" /><!-- s:oops: -->
作者:
shiyiming
时间:
2006-2-7 12:25
标题:
实在对不起,我写错了,重新写一边。
谢谢这位大哥提醒,我写错了,重新给你们写一边:
数据如下:
BADHEAD PFCODE
1 1212
1 1212
1 1212
0 4304
1 4304
0 4304
1 1500
0 1500
得到结果如下:
BADHEAD PFCODE N Rows % of Total
0 1500 1 12.50%
0 4304 2 25.00%
1 1212 3 37.50%
1 1500 1 12.50%
1 4304 1 12.50%
就是上面的了。
作者:
shiyiming
时间:
2006-2-15 10:40
标题:
初学者,程序不够简练,但也能用
data test;
input BADHEAD PFCODE;
cards;
1 1212
1 1212
1 1212
0 4304
1 4304
0 4304
1 1500
0 1500
;run;
proc sort data=test;
by badhead pfcode;
run;
data test1 ;
set test;
by badhead pfcode;m=1;
if first.pfcode then n=0;
n+m;
if last.pfcode;
run;
PROC SQL;
SELECT BADHEAD ,PFCODE,N,N/SUM(N) AS RPCOFTOTAL FROM WORK.TEST1;
QUIT; <!-- s:P --><img src="{SMILIES_PATH}/icon_razz.gif" alt=":P" title="Razz" /><!-- s:P --> <!-- s:P --><img src="{SMILIES_PATH}/icon_razz.gif" alt=":P" title="Razz" /><!-- s:P -->
作者:
shiyiming
时间:
2006-2-16 10:33
标题:
谢谢!我也写了一下。
谢谢这位大哥。下面是我这几天写的,请各位大哥指点。
data test;
input BADHEAD PFCODE;
cards;
1 1212
1 1212
1 1212
0 4304
1 4304
0 4304
1 1500
0 1500
;
run;
proc summary data=test nway ;
class BADHEAD PFCODE;
output out=out1(drop=_type_ ) ;
run;
proc sql;
create table out2 as
select BADHEAD,PFCODE, _freq_, _freq_/sum(_freq_)as ratio from out1 ;
run;
其实主要部分也是用SQL来解决的。
欢迎光临 SAS中文论坛 (http://mysas.net/forum/)
Powered by Discuz! X3.2