SAS学习笔记(一)
本课程大纲:
1、SAS安装
2、SAS界面
3、SAS的处理流程
4、SAS的模块
5、逻辑库
6、数据步与过程步举例
7、变量
1、SAS安装
SAS的安装比较麻烦,因为网上比较难找到破解版,我花了很大功夫才找到的链接,现在也分享给大家:http://pan.baidu.com/s/1qYHTbkS,链接里有安装教程及安装包,按照上面的教程一步步进行就可以成功安装了。
2、SAS界面
SAS主要由编辑窗口、输出窗、日志窗口构成,编辑窗口主要编辑代码,输出结果显示在输出窗口,日志窗口主要展现警告或报错。
3、SAS的处理流程
SAS的处理流程主要分为数据步和过程步。数据步(data)主要是创建数据集,过程步主要用于分析处理数据集、生成报表和图形。
4、SAS的模块
SAS/BASE模块:核心模块。数据管理、交互环境管理、语言处理、调用其它模块
SAS/STAT模块:覆盖几乎所有实用数理统计分析方法,是国际统计分析领域标准
SAS/EM模块:企业级数据挖掘
SAS/IML模块:功能强大面向矩阵运算的编程语言
SAS/GRAPH模块:图形软件包,产生各种图表
SAS/ASSIST模块:面向任务的菜单驱动界面,使用户可以通过菜单使用SAS其它产品
SAS/INSIGHT模块:可视化数据探索工具
SAS/CALC模块:电子表格软件
SAS/ACCESS模块:各种流行数据库接口
5、逻辑库
(1) 概念:对应于一条物理路径的逻辑名,用于存放SAS数据集和数据文件。
(2)创建逻辑库:方法1:通过命令创建。首先,先在硬盘创建相应的目录。然后在编辑窗输入libname命令,例如我在"F:\sas_project\mydb‘’这个目录创建逻辑库,库名就是mydb,则输入命令libname mydb 'F:\sas_project\mydb';,注意路径的单引号和最后的冒号,SAS语句最后都要有冒号,按F8或提交按钮运行命令。
方法2:在逻辑库窗口中的空白处,右键新建逻辑库,弹出的窗口中输入逻辑库名称,选择引擎类型,如果没有特别要求,就选默认,点击路径浏览本地物理地址对应的逻辑库位置,点击确定则创建了一个新的逻辑库。
(3)逻辑库链接数据库:libname 数据库类型 数据库 user=用户名 password=密码 path=链接IP,若数据库为oracle数据库,则数据库类型为oradb,数据库为oracle。
6、数据步与过程步举例
data mydb.student; #数据步以data开头,将数据输入到mydb这个逻辑库中的student数据集
input id name $ sex $ score;#input输入,输入的变量有id 、name、sex 、score,其中name及sex后都有$这个符号,表示这两个变量的数据为字符类型。
cards;#cards表示输入的是内部数据,而不是从外部文件输入的数据
101 张三 男 98#每列数据以空格分割
102 李四 男 87
103 兰兰 女 95
;
run;#运行
proc print data=mydb.student (keep=id name score);#proc表示过程步的表示,print打印,keep表示只打印id 、name、score这几个变量。
run;#运行
将以上代码运行之后,mydb逻辑库就会出现一个student的数据集,并且本地建立的Mydb也会出现这个数据集,在SAS中删除mydb之后,本地逻辑库和数据集都在,只是SAS的逻辑库没有了,SAS的mydb与本地的Mydb断开了联系。
7、变量
(1)命名规则:以字母或下划线开头,由字母、下划线、数字等组成,不区分大小写
(2)变量赋值:
data cr;#没有指明逻辑库,则数据集被放在默认的work逻辑库中
y=1;
z='abc';
w="xyz";
run;
(3)更多例子
创建sfz数据集:
data sfz;
length id $18.;#SAS默认字符长度为8个字符,这里的ID远超过8个字符,所以设定变量的长度,这里为18
input id sex $;
cards;
370825186532435432 M
010356789235875763 F
234567890098765988 M
345432680102300670 F
;
run;
proc print;
run;
创建riq数据集:
date riq;
cdate="3mar2010"d;#日期格式,后面加d
ctime='7:30't;#时间格式后面加t
cdatetime='6jan2010:8:18:30pm'dt;#日期时间格式,后面加dt
run;
proc print;
format cdate yymmdd10. ctime time10. cdatetime datetime22.;#按照日期格式输出format,cdate按照年月日输出,10个字符,cdatetime按照日期时间格式输出,长度为22。
run;
读取外部数据
libname temp 'c:\temp';#创建一个temp逻辑库
filename fil "c:\temp\abc.txt";#本地数据路径,并赋给fil变量
data temp.hw;#将外部数据读取给temp逻辑库的hw数据集
infile fil;#infile是读取文件的标志
input h w;#input读入数据
run;
proc print data=temp.hw;#输出temp逻辑库中的hw数据集
run;
将数据写出到外部文件
data _null_;
set mydb.student;#将mydb逻辑库的student数据集写出到本地文件,路径为'c:\temp\stu1.txt'。
file 'c:\temp\stu1.txt';
put id name $ sex $ score;#put为写出哪些变量
run;
SAS学习笔记(一)相关推荐
- 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 ...
- SAS学习笔记(四)第8/9/10章
一.可视化数据 1. ODS图形概述 在统计过程中使用图形: ods图形选项默认是开启的,若你发现是关闭的,则在将要运行的程序之前用以下语句开启:ods graphics on:则支持ods图形的统计 ...
- MATLAB/SAS学习笔记
2006/11/22 开始学习MATLAB 7.0, 主要精力用于金融应用. datafeed toolbox 用于从网上获取股票价格等信息,从yahoo获取成功,从另外三个网站失败,错误信息如下: ...
- 数据分析与SAS学习笔记8
过程步:一个典型的SAS完整程序: 代码说明: 1)reg:回归分析: 2)model:因变量和自变量. proc开头部分叫过程步. 常用过程: SORT过程: PRINT过程与FORTMAT过程: ...
- sas学习笔记之sas发送邮件
sas发送邮件 #sas 初学者之如何在不打开邮箱的前提下发送邮件 /*这是基本固定模块*/ options emailsys='smtp' emailauthprotocol='login' ; e ...
- SAS学习笔记(二)排序、打印和汇总数据
二.排序.打印和汇总数据 1.where语句生成子集 语法:where condition 放在proc print xxx之后. Mary Cassatt ,Impressionism ,U Pau ...
最新文章
- Hadoop示例程序WordCount详解及实例
- 'module' object is not callable
- JSP中文乱码问题终极解决方案
- 1.19 实例:Java求数组元素的最大和最小值
- 为静态博客生成器WDTP移植了一款美美哒主题
- 基于ZooKeeper实现HA高可用性以及自动主备切换
- Flask框架Flask-Login用法分析
- 【51CTO学院】搜索V2.0——新的搜索,只为给你更好的
- Golang slice 的底层实现
- [译]LightSwitch 如何实现:在查询中创建和使用全局值(Eric Erhardt)
- Liststring绑定到DataGridView控件
- 利润最高的6个产品都能创造富豪
- gps 捕获 matlab,基于FFT的GPS信号快速捕获方法
- Linux进程管理及作业控制(转)
- 防止ARP欺骗的方法
- Spring Boot为什么不需要额外安装Tomcat?
- 无题(2012.1.8)
- MyBatis12 结果集映射
- BAPI_BILLINGDOC_CREATEMULTIPLEdoesntcreateheadertexts_SAP刘梦_新浪博客
- 怀旧服湖畔镇服务器位置,蓝贴:怀旧服合服的服务器!
热门文章
- 《超人诞生-人类增强的新技术》
- 信息安全工程师报考完毕!
- docker 下声卡无法连接
- 【​观察】赋能中国数字化转型 荣之联的聚焦与穿透
- 「自控原理」7 非线性系统分析
- 我的数据分析学习路径设计
- 为什么linux图形引擎那么丑,为什么你的技术文章配图总是那么丑?那是你还没看过这篇教科书般的技术文章配图指南!...
- 云数据库逐渐成熟,阿里云提出“去O”小目标
- MissingServletRequestParameterException: Required request parameter ‘id‘ for method parameter type I
- Ubuntu20.04 floodlight安装教程