当前位置:首页 >> IT/计算机 >>

+SAS数据集的建立


第二章 SAS数据集的建立
? ? ?

?
?

1.常量、变量、观察值与数据集 2.用SAS数据步建立数据集 3.用数据步读入数据生成SAS数据集 4.用VIEWTABLE窗口建立数据集 5.用SAS/INSIGHT模块建立数据集

1.常量、变量、观察值与数据集
?

常量
常量数值:过大过小用科学计数法如1.78E-5,缺 省值用‘.’表示 字符常量:用单引号括起来,如常量本身含有单 引号,则改用双引号括起来。缺省值用空格表示。

? ?

观察值 变量

观测 1 观测 2 观测 3 观测 4

VAR1 123 456 12.34 0.1234

VAR2 aBc XyZ 123 Lm3n

... … … … …

VARn 12Mar90 01Jul97 31Dec56 01jan80

?

数据集
观测 1 观测 2 观测 3 观测 4 VAR1 123 456 12.34 0.1234 VAR2 aBc XyZ 123 Lm3n ... … … … … VARn 12Mar90 01Jul97 31Dec56 01jan80

数据值 观测值 变量 数据集

2.用SAS数据步建立数据集
?

临时数据集的建立

程序的基本结构 Data 语句; Input 语句; 用语数据步的其它语句; Cards; 若干数据行; …… Run; 用于数据步的几个语句; Data [数据集名]; Input [变量说明];/ Input [变量说明]@;/ Input [变量说明]@@; Cards; Run ;

Data class1; Input name $ age sex $ height weight bust; Cards; 刘明 3 男 0.94 13.59 50.4 蔡行 3 男 0.91 14.20 50.0 李敏 4 女 1.39 16.15 51.6 Run; Proc print; Run;

The SAS System

23:20 Tuesday, August 28, 2001 1 height weight bust

Obs name age sex

1 2 3

刘明 蔡行 李敏

3 3 4

男 男 女

0.94 0.91 1.39

13.59 14.20 16.15

50.4 50.0 51.6

Data class1; Input NO $ score @; input NO2 $ fenshu; Cards; 200001001 87 200001002 66 200001003 92 200001004 75 200001005 78 200001006 56 200001007 84 200001008 85 Run; Proc print; Run;

The SAS System Obs

13:24 Wednesday, August 29, 2001 8 NO score N2 fenshu

1

20000100

87

20000100

66

Data class1; Input NO $ score @@; Cards; 200001001 87 200001002 66 200001003 92 200001004 75 200001005 78 200001006 56 200001007 84 200001008 85 Run; Proc print; Run;

The SAS System

13:24 Wednesday, August 29, 2001 9 Obs 1 2 3 4 5 6 7 8 NO 20000100 20000100 20000100 20000100 20000100 20000100 20000100 20000100 score 87 66 92 75 78 56 84 85

SAS 数据集看数据集
?

?

proc print data=数据集名; run; 用工具栏中的图标进入库管理对话窗 ? 选中数据集 ? 在弹出菜单选 Open table view

永久数据集的建立 程序基本结构 Libname 库逻辑名 ”路径”; Data 语句; Input 语句; 用于数据步的其它语句; Cards; 若干数据行 …… Run; Libname 语句 格式:Libname 库逻辑名 “路径”; 功能:以库逻辑名代替其后所指的路径.
?

Libname aa ”d:\sasdata”; data aa.class3; input name $ age sex $ height weight bust; cards; 刘明 3 男 0.94 13.59 50.4 蔡行 3 男 0.91 14.20 50.0 李敏 4 女 1.39 16.15 51.6 run; proc print; run;

3.用数据步读入数据生成SAS数据集
? ? ?

?

按列输入模式 格式化输入模式 列举输入模式 数据步读入数据的一些补充

转换文本数据文件的数据步一般形式
Data 数据集名; Infile 文件名; Input 变量输入设定; Run; 例子: Data dst; Infile ‘d:\lecsas\basev8\dst\imptdt01.dat’; …… Run;

按列输入格式
Input 变量名〈$〉开始列数----结束列数……; 例:右边是imptdt01.dat数据 1-4列读入为数值变量 ID 2810 61 MOD F 6-7列读入为数值变量 AGE 2804 38 HIGH F 9-14列读入为字符变量ActLevel 2807 42 LOW M

14列读入为字符变量Sex的值

2516 26 HIGH F

相应input语句: Input ID 1-4 Age 6-7 Actlevel $ 9-12 Sex $ 14;

Data dst; Infile ‘d:\lecsas\basev8\dst\imptdt01.dat’; Input ID 1-4 Age 6-7 Actlevel $ 9-12 Sex $ 14; Run; Proc print data=dst; Run;

The SAS System

20:32 Thursday, August 30, 2001 1 Obs 1 2 3 4 ID 2801 2804 2807 2816 Age 61 38 42 26 Actlevel MOD HIGH LOW HIGH Sex F F M M

Infile 语句中的一些选项
Infile 文件名 〈firstobs=行号〉 〈obs=行号〉 Data dst; Infile ‘d:\lecsas\basev8\dst\imptdt01.dat’; Input ID 1-4 Age 6-7 Actlevel $ 9-12 Sex $ 14 firstobs=2 obs=3; Run; Proc print data=dst; Run;

The SAS System

20:32 Thursday, August 30, 2001 5 Obs 1 2 ID 2804 2807 Age 38 42 Actlevel HIGH LOW Sex F M

格式化输入模式
Input 指针控制 变量名 输入格式 …… Input @1 ID 4. @6Age 2. @9Actlevel $ 3. @14Sex $ 1.;

Data dst; Infile 'd:\lecsas\basev8\dst\imptdt01.dat' firstobs=2 obs=3; Input @1 ID 4. @6Age 2. @9Actlevel $4. @14Sex $1.; Run; Proc print data=dst; Run;

The SAS System

20:32 Thursday, August 30, 2001 10 Obs ID Age Actlevel Sex

1 2

2804 2807

38 42

HIGH LOW

F M

列举模式输入
Input 变量名〈$〉……; Input ID Age Actlevel $ Sex $;

Data dst; Infile 'd:\lecsas\basev8\dst\imptdt01.dat' firstobs=2 obs=3; Input ID Age Actlevel $ Sex $; Run; Proc print data=dst; Run;

The SAS System

20:32 Thursday, August 30, 2001 11 Obs ID Age Actlevel Sex

1 2

2804 2807

38 42

HIGH LOW

F M

列举模式读入分隔符缺省为空格符 如果读入模式为非空格分隔符,则其一般写法为: Infile 文件名 <DLM=分隔符>;

Data indt05; Infile 'd:\lecsas\basev8\dst\imptdt05.txt' dlm=','; Input gender $ age bankcard freqbank deptcard freqdept; Run; Proc print; Run;

使用length语句
Length 变量名 <$> 长度 在Length语句中,重复‘变量名 <$> 长度’可 以对多个变量设定其长度。如 Length lastname $ 20 firstname $ 15; 也可如下一样对多个变量规定同一长度: Length lastname firstname $ 20;

数据步读入数据的一些补充
? ? ?

?

Infile 的一些选项dsd 使用dsd后,缺省的分隔符为逗号; 不使用dsd时,多个相连的分隔符作为一个分 隔符处理。使用dsd后,每个分隔符都作为一 个字段的分隔符。两个相邻的分隔符就意味着 前一个分隔符后的字段为缺失值。 在读入时,将同一数据行中最外层的引号(单 引号或者双引号)中间的内容作为字符串读入, 并将最外层的引号对除去。

Data indt05; Infile 'd:\lecsas\basev8\dst\imptdt06.txt' dlm=','; Input gender $ age bankcard freqbank deptcard freqdept; Run; Proc print; Run;

@

4.用窗口建立数据集
? ? ?

?
? ? ?

生成新数据集 打开已有的数据集 编辑表 数据操作 改变数据显示 从外部文件导入数据 导出数据到其他数据格式文件


赞助商链接
相关文章:
建立SAS数据仓库
建立SAS数据仓库 - 建立 SAS 数据仓库的基本步骤 实验目的: 实验目的:掌握数据从数据源(SAS 数据集)到数据仓库存储的完整过程。 实验步骤: 实验步骤: 一、建立...
第4章 用编程读入数据建立SAS数据集
第4章 用编程读入数据建立SAS数据集_理学_高等教育_教育专区。统计软件SAS课件第4 章 用编程读入数据建立 sas 数据集 §4.1 §4.1 sas 编程基本概念 概述 sas ...
第三章 SAS数据集的建立2
第三章 SAS数据集的建立2 - 河北工业大学经济管理学院经济统计学考试要点... 第三章 SAS 数据集的建立 第三节 数据的输出 1、PROC PRINT PROC PRINT 是输出命令...
SAS语句
数据步:是一组语句组合:从外部文件中读取数据;将数据写入到外部文件中;读取 sas 数 据文件和视图;创建 sas 数据文件和视图。 过程步:对 sas 数据集进行分析和...
数据集的拼接和合并-SAS
数据集的拼接和合并-SAS - 数据集的链接是把两个或以上的观测集连接成一个新的数据集。 连接的方式有两种, 拼接和 合并。在 sas 数据步中用 set 语句可以...
SAS面向多个数据集的加工
SAS面向多个数据集的加工 - 第 6 章 面向多个数据集的加工 6.1 数据集的合并 6.1.1 串行合并 纵向合并) 串行合并(纵向合并 纵向合并 数据集 1 观测 ...
SAS数据挖掘实战篇
SAS 数据挖掘实战篇 2013-11-12 数据分析联盟 数据...挖掘平台,需要建立可交换信息 和共享知识的通用数据...数据挖掘技术是从数据库中的知识发现 KDD(Knowledge ...
SAS学习系列03. 导入数据Ⅰ
直接输入; 表格形式输入数据,可以定义变量、设置属性; 程序编辑器 data 步中直接输入; 2. 从原始数据文件中创建一个 SAS 数据集; data 步可以读取任何形式的...
SAS编程数据挖掘学习笔记(原创)
SAS编程数据挖掘学习笔记(原创)_计算机软件及应用_IT/计算机_专业资料。SAS基础学习和商业数据挖掘高级学习1. 数据集 永久(可以自己建立逻辑库,也可以放 sasuser 逻...
SAS编程基础
SAS 逻辑库(用 libname 建立库,库名不超过 8 个字符) SAS 数据集(通过二级名法建立数据集,数据集名可达 32 个字符) SAS 数据文件(包括描述信息,数据表,索引...
更多相关标签: