【发布时间】:2016-01-18 13:04:01
【问题描述】:
我从事 SAS 工作已有一段时间了。我创建了一个虚拟数据集,如下所示:
data try1;
infile datalines;
length Level $ 10;
input Variable $ Level $ Exposure;
datalines;
A A1 100
A A2 200
A A3 300
A Unknown 1000
B B1 70
B B2 20
B B3 30
B B4 40
B Unknown 100
C C1 200
C C2 100
C C3 80
C Unknown 50
;
Run;
现在成功完成创建数据集后,我试图找出每个“变量”类中的最大数字,这已通过 PROC MEANS 程序完成。相同的代码如下:
proc means data=try1 noprint;
Class Variable;
id Level;
var Exposure;
output out = try2 (drop = Level _TYPE_ _FREQ_)
maxid(Exposure(Level)) = max_factor
max=;
run;
我能够得到正确的输出。但现在我想知道每一类“变量”中的第二大数字,当然我需要这样的输出:
Max_Exposure Sec_Max_Exposure Output
Unknown A3 A3
Unknown B1 B1
C1 C2 C1
基本上我需要消除未知的“级别”,以便获得所需的输出列。
谁能帮我解决使用 PROC MEANS 语句的问题。
问候
【问题讨论】:
-
我也打算在 R 上做同样的事情。
标签: sas