SAS学习笔记(一)

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)