PROC SORT

PROC SORT DATA=输入数据集  <OUT=输出数据集><选项>;
    BY 关键变量;
RUN;

PROC SORT 语法如上,其中在尖括号中的可以不出现,也不会报错。

选项中常用的有两种NODUPKEY和NOUNIQUEKEY。

功能可以由字面意思帮助记忆,NO-没有,DUP-重复,KEY-关键变量,,,合起来就是数据集中指定的关键变量不重复,

其功能也一样,,去除重复的关键变量,这里的关键变量就是指跟在关键字BY后面的变量;还有一个对应的DUPOUT=选项用来输出被该(NODUPKEY)剔除的观测数据。

例如:

PROC SORT DATA=ABC OUT=ABC1 DUPOUT=ABC2  NODUPKEY;
    BY ID;
RUN;

这里的ABC1数据集就是关于源数据集ABC中关于ID不重复的数据集(重复的观测只保留第一条),而ABC2则是存放重复ID的重复部分。

还有一个常用选项NOUNIQUEKEY,同样可以帮助记忆  NO-没有,UNIQUE-唯一, KEY-关键变量,,,合起来就是数据集中的关键变量不唯一;

功能呢个就是保留数据集中关于关键变量有多条观测的数据,还有一个对应的选项  UNIQUEOUT=选项用来输出关于关键变量的观测数据唯一的的部分。

例如;

PROC SORT DATA=ABC UNIQUEOUT=ABC3 OUT=ABC4 NOUNIQUEKEY;
    BY KEY;
RUN;

这里输出的ABC3是关于KEY唯一的观测数据,而ABC4存放的就是关于key不唯一的观测数据.

时间: 2024-12-29 23:43:35

PROC SORT的相关文章

【SAS BASE】PROC SORT

1 PROC SORT DATA=data-set 2 OUT=neat 3 NODUPKEY 4 DUPOUT=extraobs; 5 BY variable-1 variable-2 ... variable-n; 6 RUN; 备注: 若不指定OUT=,则自动将排序后的数据代替原有数据集: NODUPKEY选项命令SAS 对BY语句中的变量删去重复观测值: DUPOUT=选项命令SAS将删去的数据放入其后指定的数据集中: 排序顺序(ASCII):blanks<-numericals(缺失值

应急响应方案

行文目录如下: 1. 事件分类 常见的安全事件: Web入侵:挂马.篡改.Webshell 系统入侵:系统异常.RDP爆破.SSH爆破.主机漏洞 病毒木马:远控.后门.勒索软件 信息泄漏:刷裤.数据库登录(弱口令) 网络流量:频繁发包.批量请求.DDOS攻击 2. 排查思路 一个常规的入侵事件后的系统排查思路: 1. 文件分析 a) 文件日期.新增文件.可疑/异常文件.最近使用文件.浏览器下载文件 b) Webshell 排查与分析 c) 核心应用关联目录文件分析 2. 进程分析 a) 当前活动

TRANSPOSE的DATA步实现

1 data a; 2 input name $ a b ; 3 cards; 4 x 2 4 5 x 3 2 6 x 4 4 7 y 5 1 8 y 6 2 9 y 7 1 10 ; 11 run; 12 %macro transpose; 13 proc sql noprint ; 14 select count (distinct name) into:name_n from a; 15 select distinct name into: name_ separated by"|&quo

sas条件判断语句

if语句<可执行语句> data b; set sashelp.class; if _n_ le 4; *如果if为真,则继续执行if后面的语句,最后输出满足if的条件的观测,如果if为假则立刻返回到data步开头继续执行下一条set语句; y = 'now'; /* y = 'now'; if _n_ le 4;也能得出同样的结果,但是效率相对来说较低,因为要重复执行y的赋值语句 */ run; if的另外两种格式if x=3 then y=4; 对于要表达的只有一条数据就用thenif x

SAS数据步与过程步,数据步语句

SAS数据步与过程步,数据步语句http://www.biostatistic.net/thread-2045-1-1.html  ---转载---原文作者:biostar(出处: 生物统计家园) 数据步与数据步语句 1.数据步基本概念    数据步是产生数据集的一组语句.一个数据步可以建立一个或多个数据集.在一份程序中可以有多个数据步.数据步程序还可以对已建立了的数据集进行修改和产生输出. 2.程序变量与数据集变量    SAS变量有程序变量与数据集变量.数据集的列也叫变量. 3. 数据步的三

Linux服务器入侵检测基础

最近遇到了很多服务器被入侵的例子,为了方便日后入侵检测以及排查取证,我查询了一些linux服务器入侵取证的相关资料,并在此总结分享,以便日后查询. 一般服务器被入侵的迹象,包括但不局限于:由内向外发送大量数据包(DDOS肉鸡).服务器资源被耗尽(挖矿程序).不正常的端口连接(反向shell等).服务器日志被恶意删除等.那么既然是入侵检测,首先要判断的是服务器是否被入侵,必须排除是管理员操作不当导致的问题,因此入侵检测的第一项工作就是询问管理员服务器的异常现象,这对之后入侵类型的判断非常重要. 在

内存 占用过高

故障特点: 服务项目停止,访问不了 发现问题登录上服务器,登录过程中很慢. 登录上df -Th 查看磁盘空间发现是磁盘满了,du -sh --exclude /proc /* |sort -h 看到是 /var/ 日志文件的过多引起的磁盘占用过多 清理磁盘,重新启动项目. 过了会儿 开发过来说项目没有启动看看是怎么回事, 启动完成是可以的 只能上去查找原因 登录时发现登录不上,等了好长时间才登录上去 因为根磁盘满的情况下是没有这么严重的,重启后再登录出现的问题 所以上来后 先 ps aux|gr

sas数据操作-2

By语句 By语句用于规定分组变量,控制set,merge,update或modify语句 官方说明: BY<DESCENDING> variable-1<...<DESCENDING>variable-n> <NOTSORTED> ; specifies the variable that the procedure uses to form BY groups. You can specify more than one variable. By def

《SAS编程与数据挖掘商业案例》学习笔记之十一

继续读书笔记,本文重点側重sas观測值的操作方面, 主要包含:输出观測值.更新观測值.删除观測值.停止输出观測值等 1.output语句   输出当前在pdv中的观測值,继续无条件运行以下的语句. 注意:简单的data步不须要output语句.run语句会自己主动输出pdv中的数据到数据集,并返回data步开头继续运行下一条观測. 在有output语句和run语句同一时候存在时.pdv仅仅会运行output的结果到正在被创建的数据集.而运行run语句的结果是pdv会清空全部的变量值为缺失值 da