SAS中文论坛
标题:
如何求最大值?
[打印本页]
作者:
shiyiming
时间:
2008-9-30 01:08
标题:
如何求最大值?
刚刚接触SAS,在数据集 temp 中有一组数字,求出现频率最高的,
4
2
2
3
2
1
1
7
Proc Freq data=temp order = freq;
tables n;
Run;
刚知道,其结果可以这样保留:
Proc Freq data=temp order = freq;
tables n [color=#4040FF:2964iuwq]out = new[/color:2964iuwq];
Run;
在 Output 窗口中看到 2 出现了 3 次,如何将这个 2 和 3 次以程序的方式显示出来呢?
如果数据较多,怎么能显示最前面 5 条记录?
Proc Print Data=New;
where obs <6; * 这行出错 ;
Run;
先谢过。
作者:
shiyiming
时间:
2008-10-2 14:17
标题:
Re: 如何求最大值?
这个论坛FTP有本书籍,老兄可参照一下,我记得上面有介绍《世界统计与分析全才.SAS系统应用开发指南》
作者:
shiyiming
时间:
2008-10-4 11:28
标题:
Re: 如何求最大值?
谢谢,能否给个链接?
我也看了看书,是否可以这样:
PROC freq data=lottery Order=freq;
tables n / Out = New;
Run;
Proc print Data = new (firstobs = 1 obs = 5) ;
Run;
作者:
shiyiming
时间:
2008-10-6 16:59
标题:
Re: 如何求最大值?
[code:35qakas0]data temp;
input a;
cards;
1
2
3
3
5
3
6
3
5
2
6
8
5
7
8
5
6
9
4
6
8
1
3
6
2
3
6
3
;
run;
proc sort data=temp;
by a;
run;
data temp;
set temp;
by a;
if first.a then num=0;
num+1;
if last.a;
run;
proc sort data=temp;
by descending num;
run;
data temp;
set temp;
by descending num;
if _n_<=5;
run;
[/code:35qakas0]
作者:
shiyiming
时间:
2008-10-6 17:02
标题:
Re: 如何求最大值?
[code:1gc7u17c]data temp;
input a;
cards;
1
2
3
3
5
3
6
3
5
2
6
8
5
7
8
5
6
9
4
6
8
1
3
6
2
3
6
3
;
run;
proc freq data=temp noprint;
table a/out=aa;
run;
proc sort data=aa;
by descending count;
run;
data temp(drop=percent);
set aa;
by descending count;
if _n_<=5;
run;
[/code:1gc7u17c]
作者:
shiyiming
时间:
2008-10-7 04:31
标题:
Re: 如何求最大值?
十分感谢热心相助,又学了一招。
proc freq data=temp noprint;
table a/out=aa;
run;
proc sort data=aa;
by descending count;
run;
以上排序是否可以直接在 Proc Freq 里实现。
Proc Freq data=temp order=Freq;
table a / out=aa;
run;
欢迎光临 SAS中文论坛 (https://mysas.net/forum/)
Powered by Discuz! X3.2