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;
SAS学习笔记之《SAS编程与数据挖掘商业案例》(3)变量操作、观测值操作、SAS数据集管理的更多相关文章
- SAS学习笔记之《SAS编程与数据挖掘商业案例》(2)数据获取与数据集操作
SAS学习笔记之<SAS编程与数据挖掘商业案例>(2)数据获取与数据集操作 1. SET/SET效率高,建立的主表和建表索引的查询表一般不排序, 2. BY语句,DATA步中,BY语句规定 ...
- 《SAS编程与数据挖掘商业案例》学习笔记之十八
接着曾经的<SAS编程与数据挖掘商业案例>,之前全是sas的基础知识,如今開始进入数据挖掘方面笔记,本文主要介绍数据挖掘基本流程以及应用方向,并以logistic回归为例说明. 一:数据挖 ...
- 《SAS编程和数据挖掘商业案例》第14部分学习笔记
继续<SAS编程与数据挖掘商业案例>学习笔记系列,本次重点:经常使用全程语句 所谓全程语句.是指能够用在不论什么地方的sas语句,既能够用在data数据步语句里面,也能够用在proc过程步 ...
- 《SAS编程和数据挖掘商业案例》学习笔记# 19
继续<SAS编程与数据挖掘商业案例>学习笔记,本文側重数据处理实践.包含:HASH对象.自己定义format.以及功能强大的正則表達式 一:HASH对象 Hash对象又称散列表,是依据关键 ...
- SAS学习笔记之《SAS编程与数据挖掘商业案例》(5)SAS宏语言、SQL过程
SAS学习笔记之<SAS编程与数据挖掘商业案例>(5)SAS宏语言.SQL过程 1. 一个SAS程序可能包含一个或几个语言成分: DATA步或PROC步 全程语句 SAS组件语言(SCL) ...
- SAS学习笔记之《SAS编程与数据挖掘商业案例》(4)DATA步循环与控制、常用全程语句、输出控制
SAS学习笔记之<SAS编程与数据挖掘商业案例>(4)DATA步循环与控制.常用全程语句.输出控制 1. 各种循环与控制 DO组 创建一个执行语句块 DO循环 根据下标变量重复执行DO和E ...
- SAS学习笔记之《SAS编程与数据挖掘商业案例》(1)系统简介和编程基础
SAS学习笔记之<SAS编程与数据挖掘商业案例>(1)系统简介和编程基础 1. SAS系统简介 1.1 SAS是先编译后执行的语言,data步标志着编译的开始. 数据指针:当前内存缓存区, ...
- 《SAS编程与数据挖掘商业案例》学习笔记之十六
<SAS编程与数据挖掘商业案例>学习笔记,本次重点:sas宏变量 内容包含:宏变量.宏函数.宏參数.通配函数.字符函数.计算函数.引用函数.宏语句.宏应用 1.宏触发器: %name-to ...
- 《SAS编程与数据挖掘商业案例》学习笔记之十五
继续<SAS编程与数据挖掘商业案例>读书笔记,本次重点:输出控制 主要内容包含:log窗体输出控制.output窗体输出控制.ods输出控制 1.log窗体输出控制 将日志输出到外部文件 ...
随机推荐
- 通过混合编程分析的方法和机器学习预测Web应用程序的漏洞
通过混合编程分析的方法和机器学习预测Web应用程序的漏洞 由于时间和资源的限制,web软件工程师需要支持识别出有漏洞的代码.一个实用的方法用来预测漏洞代码可以提高他们安全审计的工作效率.在这篇文章中, ...
- 《Noisy Activation Function》噪声激活函数(一)
本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/51736830 Noisy Activa ...
- hust 1017
题意:求01矩阵的精确覆盖. 分析:本来想学习dancing links来解决数独问题,发现dancing links最初解决的问题是精确覆盖,于是就找到这道题来做了.这种NPC问题只能用DFS暴搜的 ...
- xcode5修改APP名字
bundle display name 配置文件里面设置, 这个指的是显示在icon下面的名字.application name在itunes connect上改, 是指显示在app store上的名 ...
- 用xtrabackup+binlog恢复误删除的数据库
关键技术,数据库产生的二进制文件,在主库就是binlog在从库就是relay-log,用最新的物理备份可以新启动个新实例,可以模拟个从库,把主库的binlog复制到新的数据库实例上,利用主从复制和物理 ...
- ScrollView双击图片定点放大
直接先说原理吧--原理:利用了scrollview的回调函数(如下)以及scrollview自己内部的一些缩放规则(其实我也还没弄清楚具体scrollview干了什么事),只是知道了它可以怎么做-_- ...
- 46.Android 自己定义Dialog
46.Android 自己定义Dialog Android 自己定义Dialog 前言 提示Dialog 提示Dialog 效果图 菜单Dialog 菜单Dialog 效果图 DialogActivi ...
- ftk学习记(输入框篇)
[ 声明:版权全部.欢迎转载.请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 昨天讲了进度条,我们还是看看它的运行效果是怎么样的.截图例如以下, 进度条使用的情况还是比較多的 ...
- android 4.0主线程訪问网络问题
在4.0下面,在主线程中訪问网络,假设请求超过6s的话,就会报ANR,那么这就会带来一个问题,假设网络慢或者请求的数据过大时,界面会卡顿,造成界面灵敏性非常差,因此网络请求一般不能放在主线程中操作,g ...
- LNMP环境搭建——PHP篇
一.源代码安装 1.编译安装 ./configure --prefix=/usr/local/php\ --with-config-file-path=/usr/local/php/etc --wit ...