SAS学习笔记1——基础知识(库、PDV、变量选择、观测值排序、创建新变量
SAS学习笔记1——基础知识
- 1.逻辑库、临时库、永久库
- 2.数据步
- 2.1数据步语法
- 2.2 数据步的编译和执行过程
- 2.3变量的选择
- 2.3.1 keep和drop语句
- 2.4变量的重命名rename语句
- 2.5 观测值的选择——if和where语句
- 2.6按变量对观测值排序
- 2.7 建立新变量&变量的求和
- 2.7.1 赋值语句
- 2.7.2 累加语句
- 2.7.3 RETAIN语句
1.逻辑库、临时库、永久库
逻辑库名是SAS名,长度不能超过8B。
建立逻辑库语句:
libname fd 'D:\大三下\SAS\lecture1';run;
fd:为自定义的逻辑库名称。
D:\大三下\SAS\lecture1’:逻辑库对应的地址。
libname fd <engine> 'D:\大三下\SAS\lecture1';run;
enging:引擎名称(缺失时为默认引擎)
临时逻辑库指的是他的内容只有在启动SAS时存在,退出SAS时内容完全被删除。系统默认的临时逻辑库为work,引用临时库的SAS文件时,可以直接使用文件名,效果等于work.文件名。
永久逻辑库是指他的内容在SAS关闭对话之后仍旧保留,直到再次修改或者删除。SAS中除了work意外的逻辑库都是永久库。
引用非临时逻辑库时必须使用两级命名方式
如:fd.test
2.数据步
2.1数据步语法
操作案例1:数据集的复制
libname fd 'c:\fd';run;data test;set fd.test;run;
2.2 数据步的编译和执行过程
对于这一段有关PDV的我理解的不是特别好,大概就是,SAS的程序在运行过程中,是一个观测一个观测进行的,对第一个观测运行一遍数据步之后,修改PDV,PDV内容写入数据集;再进行循环,对下一个观测实行上述操作,如此循环直到最后一个观测结束。
举一个例子方便理解~~
操作案例2:理解PDV编程读入变量的过程
data tes2t;put "第" _n_ "次运行之前:"_all_;set sashelp.class;htm=height*2.54/100; /*身高转换为米*/wtkg=weight*0.454; /*体重转换为公斤*/put "第" _n_ "次运行之后:" _all_;run;
原数据集:sashelp.class(sas内置数据集)
处理后数据集:
运行过程显示:
可以很明显地看出,sas在处理数据集时,是对于每一个观测运行一遍数据步,再循环至下一个观测。
2.3变量的选择
2.3.1 keep和drop语句
keep可以保留PDV中的变量,drop删除PDV中的变量。
keep 变量1 变量2……drop 变量1 变量2……`
keep和keep=的区别:
data test3;set sashelp.class(keep = height weight);run;
data test3;set sashelp.class;keep height weight;run;
这俩是一样的功能
在商业实践中,DROP= KEEP=的效率要高于DROP语句和KEEP语句~
操作案例4:利用keep和drop语句保留数据集全部的数值型变量或全部的字符型变量
data num;set sashelp.class(keep=_numeric_);run;data char;set sashelp.class(keep=_character_);run;
结果展示:
字符型数值型
2.4变量的重命名rename语句
(类似keep、drop)
1.rename=选项
RENAME=(旧变量1=新变量1 旧变量2=新变量2......)
2.rename语句
RENAME 旧变量1=新变量1 旧变量2=新变量2......
操作案例5:变量重命名
data class;set sashelp.class(rename=(sex=Gender));run;
2.5 观测值的选择——if和where语句
1.if语句:
用于选择部分观测值或者是用if-then语句进行赋值等操作
例:
data pilot1;set pilot;if salary>=100000;run;
等价于:
data pilot1;set pilot;if salary<100000 then delete;run;
2.where语句
1)( where = (表达式 ) )
2) where 表达式
例:
data pilot1;set pilot(where=(salary>=100000));run;
data pilot1(where=(salary>=100000));set pilot;run;
data pilot1;set pilot;where salary>=100000;run;
三种等价
2.6按变量对观测值排序
按照升序
proc sort data=sashelp.class out=class;by age;run;
按照降序
proc sort data=sashelp.class out=class;by descending age;run;
此处sex和age位置对调结果也不同哦
proc sort data=sashelp.class out=class;by sex age;run;
2.7 建立新变量&变量的求和
2.7.1 赋值语句
格式:变量名=表达式;
例如:x=x+1;
注意:赋值语句在计算求和时,如果变量有缺失值,计算结果为缺失值
2.7.2 累加语句
格式:变量+表达式;
说明:变量首先初始为0,变量的值一直保留在PDV中
2.7.3 RETAIN语句
格式:RETAIN
变量列表 初始值;
说明:变量可以指定初始值,变量的值一直保留在PDV中;
注意: 行的求和以及列的求和区别
操作案例8:各种创建的变量的方法之比较
之后再写~~咕~
SAS学习笔记1——基础知识(库、PDV、变量选择、观测值排序、创建新变量相关推荐
- HTML5学习笔记 —— JavaScript基础知识
HTML5学习笔记 -- JavaScript基础知识 标签: html5javascriptweb前端 2017-05-11 21:51 883人阅读 评论(0) 收藏 举报 分类: JavaScr ...
- php基础教学笔记,php学习笔记:基础知识
php学习笔记:基础知识 2.每行结尾不允许有多余的空格 3.确保文件的命名和调用大小写一致,是由于类Unix系统上面,对大小写是敏感的 4.方法名只允许由字母组成,下划线是不允许的,首字母要小写,其 ...
- 【学习笔记--FMCW基础知识】
学习笔记--FMCW基础知识 前言 mmWave测距原理 mmWave区分多个物体 mmWave的距离分辨率(Range Solution) mmWave的最大测量距离 前言 由于工作原因需要了解TI ...
- JS学习笔记——入门基础知识总结
JS入门基础知识总结1 前言 基础背景知识 一.产生历史: 二.特点: 三.应用方向: 四.Javascript组成: JavaScript书写使用方式 一.行内式(了解即可,项目中不使用,日常练习尽 ...
- 《UNIX 环境高级编程》学习笔记——UNIX 基础知识
UNIX环境高级编程--UNIX 基础知识 引言 UNIX 体系结构 登录 文件和目录 输入和输出 程序和进程 出错处理 用户标识 信号 时间值 系统调用和库函数 引言 所有操作系统都为它们所允许的程 ...
- WebGL学习笔记(基础知识篇)
WEBGL基础知识介绍 1.场景(scene) 场景如其名,即显示3D空间内物体的容器,就好比一个箱子是一个3D场景. 2.坐标系: webgl使用笛卡尔坐标系(宽度.高度和深度),我们也可以指定使用 ...
- 单片机学习笔记——微机基础知识
微机基础知识 微处理器,微机和单片机概念 微处理器的组成 一.运算器 主要寄存器 主要寄存器(IR),指令译码器(ID) 程序计数器(PC) 地址寄存器(AR) 二.控制器 存储器和输入输出接口 一. ...
- CAN总线学习笔记 | CAN基础知识介绍
一.CAN协议 1.1 CAN协议简介 CAN 是控制器局域网络 (Controller Area Network) 的简称,它是由研发和生产汽车电子产品著称的德国 BOSCH 公司开发的,并最终成为 ...
- 16位汇编语言学习笔记(1)——基础知识
文章目录 1.配置汇编学习环境 1.1 工具下载 1.2 配置环境 2. 汇编命令基础 2.1 简单使用 2.2 常用命令 3. 汇编语言基础 3.1 汇编语言程序与汇编程序 3.2 汇编语言程序的格 ...
最新文章
- CentOS系统启动流程
- 适用于macOS的Qt
- 怎么在苹果Mac虚拟机上安装Win7
- mysql增加某人信息_mysql 增加用户
- python爬虫菜鸟教程-Python 应该怎么学?
- SLAM_BA中重投影误差e 关于相机位姿扰动量δξ 的雅克比矩阵J 公式推导
- hdmi接口线_HDMI高清线不能随便买,这五点要记住
- 查看进程的发起程序linux,Linux挂载iSCSI设备
- 在线将PDF极速转换为图片
- 只因写了一段爬虫,公司200多人被抓!
- 【DSU+思维】CF855G Harry Vs Voldemort
- java解压加密的7z格式文件
- 服务器输出音频文件,云服务器音频输出
- JAVA学习第21天; 聚合 aggregation
- iOS渐变视图动画库、腰杆、音频水滴水波手势、多种对话框、四级展开效果等源码
- 科学计算机程序 字表处理软件都是,计算机应用基础知识--1
- 如何在MacOS上卸载IPGuard的软件--LAgent/LSDhelper程序
- 【从零开始学爬虫】采集B站UP主数据
- 原生态水平和垂直拉伸的JQUERY插件
- Redis数据类型——list