SAS 学习笔记 (一) — SAS简介
文章目录
- 1、四大模块
- 2、四大任务
- 3、窗口和快捷键
- 4、SAS文件与逻辑库
- 5、SAS语句规则
- 6、SAS三种基本类型的选项
- 7、SAS变量的六大属性
- 8、其他
1、四大模块
数据库:BASE,FSP,ACCESS
分析核心:STAT, ETS, QC, OR, INSIGHT
开发呈现工具:AF, EIF, GRAPH
分布处理与数据仓库:CONNECT,WA
2、四大任务
数据访问
数据管理
数据分析
数据呈现
3、窗口和快捷键
帮助(F1 / HELP)、运行程序(F3 / SUBMIT)、调用上一步程序(F4 / RECALL)、热键设置(F9 / KEYS)
程序编辑器 PGM/WPGM(F5)、日志 log(F6)、输出 output(F7)
资源管理器 explorer 、 结果 result
窗口内部切换(Ctrl+Tab)、窗口外部切换(Alt+Tab)
4、SAS文件与逻辑库
原有逻辑库:sashelp 示例库、sasuser 永久库、work 临时库(默认,可省略库名)
新建逻辑库:文件目录 → SAS库 LIBNAME 库名 “路径”;
库名(逻辑库引用名):libref
数据集访问方式:库名.数据集
(二级访问规则)
读入程序:直接在菜单栏打开 / 命令框提交 include "路径";
SAS文件包括:SAS数据集(Table)、SAS数据视窗(View)、SAS目录册(Catalog)
数据集vs数据视窗:前者含描述部分和数据部分;后者只含描述部分(属性 内容)
数据部分:记录(行、观测)/ 变量(列、字段、指标)
5、SAS语句规则
SAS一个程序(procedure)由若干个过程步(proc)组成,一般逐行执行程序,逐条处理观测
每条SAS语句(statement)都以关键词开始;
每条SAS语句都以分号结尾(空语句:;
);
不区分大小写、不区分单引号和双引号;无缩进要求;
相等判别和赋值都用 =
单个或多个语句可位于一行或多行;
缩进原则 → 增强程序的可读性
命名规则(逻辑库/文件/变量):由字母、下划线、数字组成,且必须以字母或下划线开头;不超过8个(逻辑库) / 32个(变量)字符;不区分大小写;[ 名如其意;多个单词用大写或下划线间隔;]
注释方式: * xxx ;
or /* xxxxxx */
6、SAS三种基本类型的选项
影响范围:系统选项 > 语句选项 > 数据集选项
- 系统选项
由“SAS系统选项窗口”或“OPTIONS”命令更改,持续有效
OPTIONS
YEARCUTOFF = year; /*指定SAS使用的百年跨度的第一年*/
TITLEn "标题";
TITLE; /*取消所有当前标题*/
FOOTNOTEn "脚注";
ls = ; /*linesize*/
ps = ; /*pagesize*/
- 语句选项
出现在个别语句中,影响特定的DATA步和PROC步 - 数据集选项
只影响SAS如何读取或输出个别的数据集(放在数据集名称后面的括号中)
KEEP, DROP, RENAME = (oldvar = newvar), FIRSTOBS, OBS, LABEL, IN, WHERE ...
7、SAS变量的六大属性
类型 type*:分类/字符型(名义、有序)、数值(定距、定比)
命名 name*
长度 length*(存储) length 变量名 <$> 长度
(尽量不要对数值型变量定义长度)
标签 label (别名) label 变量名 ="标签名"
格式(输入 informat / 输出 format) (读取 / 展示)
(前三个是必须要有的变量属性)
- 字符型变量
- 数值型变量:默认为8个字节的浮点方式-16或17个有效数位
-日期变量:存储为从1960年1月1日至一个指定日期间的天数
(引用日期作为常量的方式var = 'DATEw.'D
)
-时间变量:存储为从00:00:00开始累积的秒数
-日期时间变量:存储为从1960年1月1日00:00:00开始累积的秒数
-货币变量:存储为美元 - 缺失数据值:字符型缺失值显示为空格 ; 数值型缺失值显示为句点
.
标准数据 vs 非标准数据
标准数据:电脑看到就能识别的 e.g. 12 / 12.34 / 123e-5
非标准数据 e.g. 12,345 / $12345 / 4.25%
输入与输出格式
FORMAT variable(s) format;
INFORMAT variable(s) format;
数值型:W.<d> (宽度.<小数位>)
(默认左对齐)
字符型:$ W.
(默认右对齐)
一般:<$> <格式名> W.<d>
其他: best w.d
(自动选择最佳格式) z w.d
(左边补齐0)
(区分输入和输出中小数点对格式的影响)
书P49-50
输入数据 | 输入格式 | 存储数据 | 输出格式 | 输出数据 |
---|---|---|---|---|
1223412 | 7.2 | 12234.12 | 8.2 | 12234.12 |
12,234.1234 | comma7.2 | 12234.12 | comma9.2 | 12,234.12 |
$12,234.1234 | dollar8.2 | 12234.12 | dollar10.2 | $12,234.12 |
其他符号(12234.12) | commax12.2 | 12.234,12 | eurox12.2 | €12.234,12 |
自动调整(12234.12) | dollar5.2 | 12234 | dollar4.2 | 12e3 |
201097 | ddmmyy6. | 13807 | mmddyy6. | 102097 |
20/10/97 | ddmmyy8. | 13807 | mmddyy8. | 10/20/97 |
20/10/1997 | ddmmyy10. | 13807 | mmddyy10. | 10/20/1997 |
20OCT97 | date7. | 13807 | date9. | 20OCT1997 |
October 20,1997 | worddate. | 13807 | weekdate. | Friday,October 20,1997 |
Oct1997 | monyy7. | 13807 | year4. | 1997 |
8、其他
所有字符型变量 _ALL_ _CHARACTER_
所有数值型变量 _ALL_ _NUMERIC_
不用展示具体的数据(只能与_ALL_配合使用)_ALL_ NODS
将逻辑库里的所有SAS文件以列表方式输出 :
PROC CONTENTS DATA = libref. _ALL_ NODS; RUN;
/* -----------PROC步------------ */
/* 展示内容 */
PROC CONTENTS DATA = libref.dataset;ID 关键变量;VAR 分析变量;WHERE 查找;FORMAT 输出格式;LABEL 标签;
RUN;
(对数据清洗有用)/* 打印数据 */
PROC PRINT DATA = libref.dataset <options>;ID 关键变量;VAR 分析变量;WHERE 查找;FORMAT 输出格式;LABEL 标签;
RUN;/* 排序 */
PROC SORT DATA = libref.dataset mean max min var;VAR 分析变量;BY (分组 分组之前要先排序);
RUN;/* 简单统计 */
PROC MEANS DATA = libref.dataset mean max min var;VAR 分析变量;BY (分组 分组之前要先排序);
RUN;/* 检验 */
PROC TTEST DATA = libref.dataset;CLASS (分类 分类验证某变量是否有影响);VAR 分析变量;
RUN;/* <options> */
noobs (不显示行号)
label name 姓名
SAS 学习笔记 (一) — SAS简介相关推荐
- sas学习笔记之sas发送邮件
sas发送邮件 #sas 初学者之如何在不打开邮箱的前提下发送邮件 /*这是基本固定模块*/ options emailsys='smtp' emailauthprotocol='login' ; e ...
- 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编程与数据挖掘商业案例》(3)变量操作、观测值操作、SAS数据集管理
SAS学习笔记之<SAS编程与数据挖掘商业案例>(3)变量操作.观测值操作.SAS数据集管理 1. SAS变量操作的常用语句 ASSIGNMENT 创建或修改变量 SUM 累加变量或表达式 ...
- SAS学习笔记1——基础知识(库、PDV、变量选择、观测值排序、创建新变量
SAS学习笔记1--基础知识 1.逻辑库.临时库.永久库 2.数据步 2.1数据步语法 2.2 数据步的编译和执行过程 2.3变量的选择 2.3.1 keep和drop语句 2.4变量的重命名rena ...
- StatQuest学习笔记23——RNA-seq简介
StatQuest学习笔记23--RNA-seq简介 前言--主要内容 这篇笔记是StatQuest系列笔记的第58节,主要内容是讲RNA-seq的原理.StatQuest系列教程的58到62节是协录 ...
- ASP.Net学习笔记001--ASP.Net简介1
ASP.Net学习笔记001--ASP.Net简介1 2016/1/10 以前写的课程都没有附上源码,很抱歉! 课程中的源码可以加qq索要:1606841559 也可以自己下载: ASP.Net学习笔 ...
- C#.NET学习笔记1---C#.NET简介
C#.NET学习笔记1---C#.NET简介 技术qq交流群:JavaDream:251572072 教程下载,在线交流:创梦IT社区:www.credream.com -------------- ...
- STM32 HAL库学习笔记1-HAL库简介
STM32 HAL库学习笔记1-HAL库简介 HAL库 SPL 库 和 HAL 库两者相互独立,互不兼容.几种库的比较如下 目前几种库对不同芯片的支持情况如下 ST 中文官网上有一篇<关于ST库 ...
最新文章
- linux下文件夹的创建、复制、剪切、重命名、清空和删除命令
- android xml 指纹动画,如何检查设备是否具有指纹功能并在Android中使用
- java 反射 私有成员_Java对类私有变量的暴力反射技术讲解
- 第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波13 - 平滑低通滤波器 -盒式滤波器核
- oracle表空间不足
- Apache Log4j2详解,【高级Java架构师系统学习
- 令新手头痛的java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet错误...
- Oracle中的包、存储过程、函数被锁定解决方案
- linux常见的危险命令,Linux上最危险的8个命令
- IIS中启用ASP并连接Access数据库的解决办法
- 一张图看懂阿里云智能媒体管理产品 1
- 优秀的长截图标注工具:iShot for Mac
- iCloud开发入门
- 蓝带 拱桥 区别_蓝带
- 大数据分析师高级证书_数据分析师资格证书好考吗_大数据分析师认证
- python中的坐标轴的画法
- Android软键盘弹出和收起的监听
- 快速解决java端口占用
- neo4j cypher操作
- 简述html5的标记方法,HTML 5中的标记方法