SAS学习笔记之《SAS编程与数据挖掘商业案例》(3)变量操作、观测值操作、SAS数据集管理

SAS学习笔记之《SAS编程与数据挖掘商业案例》(3)变量操作、观测值操作、SAS数据集管理

1. SAS变量操作的常用语句

ASSIGNMENT  创建或修改变量
SUM         累加变量或表达式
KEEP        规定在数据集中保留的变量
DROP        规定在数据集中删除的变量
ARRAY       定义一个数组
RENAME      重命名数据集变量
LENGTH      定义变量长度
LABEL       定义变量标签

2. 连接符:||

compress:消除空格
RETAIN应用:一是需要对某一个变量值进行累加、比较等操作。二是需要保留之前的某一满足条件的变量值到指定的观测对应的变量。

3.维度函数:MID() DIM(MULT)等加于DIM(MULT,1)

LABEL:标签

4. SAS观测值操作

OUTPUT 输出当前在PDV中的观测,继续无条件自行下面的语句。
IF      如果满足条件,继续执行后面语句;否则,返回DATA步开头。
WHERE   观测进入PDV之前进行条件判断。
REPLACE 更新观测,但仅在MODIFY语句中适用。
REMOVE  删除观测,但仅在MODIFY语句中适用。
DELETE  如果满足条件,返回DATA步开头;否则继续执行后面语句。
STOP    停止输出当前PDV中的观测,并退出DATA步。

WHERE语句在PDV之前执行。

5. 数据集管理主要包括数据集纵向拼接、转置、排序、比较、复制、重命名、删除等操作。通过SAS的过程步完成,常用过程步。

APPEND  把来自SAS数据集的所以数据添加到另外一个SAS数据集的后面。
SORT    对原有SAS数据集安装一个或多个变量进行排序。
TRANSPOSE   对原有的SAS数据集进行行列转置
CONTENTS    输出SAS逻辑库成员的描述信息
DATASETS    管理SAS逻辑库成员,可以完成对SAS逻辑库中的所有成员进行输出列表、复制、换名、添加和删除等操作。
实践:在PROC SORT中用了NODUPKEY后最好一同使用OUT,OUT可以保证原来的数据集不变,把NODUPKEY后的产生的观测输出到新的数据集中。(万一程序开发有误,有保障) 
带OUT=选项的删除重复BY值
        data a;
            input x y @@;
            cards;
            1 20 1 10 1 30 2 40 2 50
            ;
        run;
        proc sort data=a nodupkey out=b;by x;run;

6. 行列转置实践

DATA比PROC效率高
对比:
6.1 列转置为行
    PROC步:
        proc transpose data=chapt6.fishdata
            out=charpt6.fishlength(rename=(coll=measurement));
            var length1-length4;
            by location date;
        run;
    DATA步:
        data chapt6.fishlength2;
            set chapt6.fishdata(keep=location data length1-length4);
            array tr[1:4] length1-length4;
            do i=1 to 4;
            measurement=tr(i);
            output;
            end;
            keep location date measurement;
        run;
6.2 行转置列
    PROC步:
        proc transpose data=chapt6.fishlength
            out=chapt6.fishdata2;
            var measurement;
            by location date;
            id _name_;
        run;
    DATA步:
    data chapt6.fishlength(keep=location date measurement);
            do i=1 to 4;
            set chapter6.fishlength(keep=location date measurement);
            array tr[1:4] length1-length4;
            tr(i)=measurement;
            end;
            keep location date length1-length4;
        run;

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小樱的经验随笔

用C#实现字符串相似度算法(编辑距离算法 Levenshtein Distance)

在搞验证码识别的时候需要比较字符代码的相似度用到“编辑距离算法”,关于原理和C#实现做个记录。 据百度百科介绍: 编辑距离,又称Levenshtein距离(也叫...

4365
来自专栏xingoo, 一个梦想做发明家的程序员

图m着色问题

1 问题描述:   给定无向图,m种不同的颜色。使每一种着色法使G中每条边的2个顶点不同颜色,若一个图最少需要m种颜色才能使图中每条边连接的2个顶点着不同颜色,...

1789
来自专栏Python数据科学

使用Pandas&NumPy进行数据清洗的6大常用方法

数据科学家花了大量的时间清洗数据集,并将这些数据转换为他们可以处理的格式。事实上,很多数据科学家声称开始获取和清洗数据的工作量要占整个工作的80%。

962
来自专栏Golang语言社区

Go语言中反射的正确使用

介绍 反射是元数据编程的一种形式,指的是程序获得本身结构的一种能力。不同语言的反射模型实现不一样,本文中的反射,仅仅指的是Go语言中的反射模型。 反射有两个问题...

3426
来自专栏王小雷

SAS学习笔记之《SAS编程与数据挖掘商业案例》(4)DATA步循环与控制、常用全程语句、输出控制

SAS学习笔记之《SAS编程与数据挖掘商业案例》(4)DATA步循环与控制、常用全程语句、输出控制 1. 各种循环与控制 DO组 创建一个执行语句块 ...

19610
来自专栏CDA数据分析师

Excel中6个怪异的公式,你知多少?

文 | 兰色幻想-赵志东 在excel中我们有时会看到一些奇奇怪怪的公式,为了帮助新手学习,兰色今天带大家一起盘点这些公式。 公式1:=Sum(表1:表20!A...

1815
来自专栏生信小驿站

R 数据处理 ①

581
来自专栏Hongten

根据星星的层数输出星星(*)_java版

=============================================================

871
来自专栏ACM小冰成长之路

HDU-6010-Daylight Saving Time

ACM模版 描述 ? 题解 这个题的难点在于题目不好懂,只要读懂了题目,细心一些的人都能做出来。 大致的思路是先预处理出来每年的两个时间节点,也就是每年三月份的...

1829
来自专栏海天一树

求组合数

分析:  C(10, 3) = C(10, 2) * 8 / 3 = C(10, 1) * 9 * 8 / (3 * 2) = C(10, 0) * 10 *...

532

扫码关注云+社区