SAS学习笔记之《SAS编程与数据挖掘商业案例》(1)系统简介和编程基础
SAS学习笔记之《SAS编程与数据挖掘商业案例》(1)系统简介和编程基础
1. SAS系统简介
1.1 SAS是先编译后执行的语言,data步标志着编译的开始。
数据指针:当前内存缓存区,输入数据所在位置。
PDV:Program Data Vector,在DATA步中所有涉及的变量被编程当前向量的一部分。
2. SAS编程基础
2.1 SAS逻辑库
SAS逻辑库
| | |
SAS数据集 SAS目录 其他SAS文件
| |
SAS数据文件 SAS数据视图
2.2 创建逻辑库 libname lb'F:\Data_Model\Bookdata\chapt2';
删除逻辑库 libname lb clear;
SAS数据集命名规则:由英文字母、下划线、数字组成且最多不超过32个字符。
创建永久SAS数据集名为forever
libname fv 'F:\Data_Model\Book_data\chap2';
data fv.forever;
Input x y z;
Cards;
1 2 3
3 4 5
;
run;
创建临时数据集名为temp
data temp;
Input x y z;
Cards;
1 2 3
4 5 6
;
run;
2.3 SAS数据集结构
一个SAS数据集是数据值和数据集信息的集合。
数据值:由观测加变量组成,行为观测列为变量;数据集信息:包含该数据集名字、创建时间、在逻辑库中的成员类型等。
2.4 SAS索引
SAS索引存储SAS数据集中一些变量的值和与该值对应的观测进行直接定位的指针系统。
创建索引:
2.4.1 DATA创建索引
data idx(index=(x));
input x y z;
cards;
1 2 3
;
run;
2.4.2 SQL过程创建索引
proc sql;
create index y on idx(y)/*定义单一索引*/;
create index yz in idx(y,z);/*定义符合索引*/
quit;
2.4.3 DATASETS 过程创建索引
proc datasets lib=work;
modifiy idx;
index create z/nomiss unique;/*定义单一索引*/
index create xyz=(x y z)/nomiss unique;/*定义符合索引*/
quit;
2.4.4 删除索引
/*删除指定索引;*/
Proc Sql;
Drop Index X On Idx;
Quit;
/*删除全部索引*/
Proc Datasets;
Modify Idx;
Index Delete _ALL_;
Quit;
2.5 数据字典,包含了所有的当前进程SAS逻辑库、SAS数据表、SAS目录等非常有用的信息。
3. 数据获取与数据集操作
3.1 数据集操作常用语句
DATA 创建SAS数据集;SET语句 读取数据行,纵向合并SAS数据集;BY语句 控制SET、MERGE、MODIFY、UPDATE语句,并建立变量。
MERGE语句 横向合并两个或两个以上SAS数据集;UPDATE语句 更细SAS数据集;MODIFY语句 修改SAS数据集;
PUT语句 显示或输出数据行;FILE语句 规定当前PUT语句的输出文件;INFILE语句 规定DATA步要读入的外部文件。
3.2 直接访问外部数据库
3.2.1访问DB2
libname hsdb db2 user=xxx password="xxx" datasrc=datadb;
3.2.2访问Oracle
libname oralib oracle user = xxx pw = xxx path = dbmssrv schema = educ;
SAS学习笔记之《SAS编程与数据挖掘商业案例》(1)系统简介和编程基础的更多相关文章
- 《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编程与数据挖掘商业案例》(3)变量操作、观测值操作、SAS数据集管理
SAS学习笔记之<SAS编程与数据挖掘商业案例>(3)变量操作.观测值操作.SAS数据集管理 1. SAS变量操作的常用语句 ASSIGNMENT 创建或修改变量 SUM 累加变量或表达式 ...
- SAS学习笔记之《SAS编程与数据挖掘商业案例》(2)数据获取与数据集操作
SAS学习笔记之<SAS编程与数据挖掘商业案例>(2)数据获取与数据集操作 1. SET/SET效率高,建立的主表和建表索引的查询表一般不排序, 2. BY语句,DATA步中,BY语句规定 ...
- 《SAS编程与数据挖掘商业案例》学习笔记之十六
<SAS编程与数据挖掘商业案例>学习笔记,本次重点:sas宏变量 内容包含:宏变量.宏函数.宏參数.通配函数.字符函数.计算函数.引用函数.宏语句.宏应用 1.宏触发器: %name-to ...
- 《SAS编程与数据挖掘商业案例》学习笔记之十五
继续<SAS编程与数据挖掘商业案例>读书笔记,本次重点:输出控制 主要内容包含:log窗体输出控制.output窗体输出控制.ods输出控制 1.log窗体输出控制 将日志输出到外部文件 ...
- 《SAS编程与数据挖掘商业案例》学习笔记之十八
接着曾经的<SAS编程与数据挖掘商业案例>,之前全是sas的基础知识,如今開始进入数据挖掘方面笔记,本文主要介绍数据挖掘基本流程以及应用方向,并以logistic回归为例说明. 一:数据挖 ...
随机推荐
- Spark在Executor上的内存分配
spark.serializer (default org.apache.spark.serializer.JavaSerializer ) 建议设置为 org.apache.spark.ser ...
- java中split以。点和|分割的问题
问题:想要按照点来切分字符串直接这样 String[] filep=filename.split("."); 结果得到一个空数组 解决方法: 法一:需要转义,改为:(注意是2个\\ ...
- 14、Java并发性和多线程-Java ThreadLocal
以下内容转自http://ifeve.com/java-theadlocal/: Java中的ThreadLocal类可以让你创建的变量只被同一个线程进行读和写操作.因此,尽管有两个线程同时执行一段相 ...
- Cisco IOU Web Interface : Web IOU
https://github.com/dainok http://sns.clnchina.com.cn/space.php?uid=404779&do=blog&id=4298 ht ...
- 源码分析-react3-创建dom
React.createElement class Welcome extends React.Component { constructor(){ super() this.state={ test ...
- JavaScript解析顺序和变量作用域
JavaScript基础之变量作用域. 一. 1.全局变量:全局变量的意思就是,在代码的不论什么地方都能够訪问到.注意:未定义 直接赋值的变量拥有全局属性. 2.局部变量:局部变量的意思就是,变量的作 ...
- Android应用程序无法读写USB设备的解决方法
假设android系统中的API或者apk无法读写usb设备.可能是没有加入读写usb的权限,须要依照例如以下方法进行设置: 1. 在android.hardware.usb.host.xml文件里加 ...
- Codeforces Round #327 (Div. 2) B. Rebranding 模拟
B. Rebranding The name of one small but proud corporation consists of n lowercase English letters. ...
- oc69--NSMutableString
// main.m // NSMutableString基本概念,NSString是不可变字符串,NSMutableString是可变字符串.NSMutableString继承NSString,所以N ...
- 安卓BitmapFactory.decodeStream()返回null的问题解决方法
问题描述: 从网络获取图片,数据为InputStream流对象,然后调用BitmapFactory的decodeStream()方法解码获取图片,返回null. 代码如下: private Bitma ...