当前位置:首页 >> 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.用窗口建立数据集
? ? ?

?
? ? ?

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


赞助商链接
相关文章:
第4章 用编程读入数据建立SAS数据集
第4章 用编程读入数据建立SAS数据集_理学_高等教育_教育专区。统计软件SAS课件第4 章 用编程读入数据建立 sas 数据集 §4.1 §4.1 sas 编程基本概念 概述 sas ...
建立SAS数据集
建立SAS数据集_计算机软件及应用_IT/计算机_专业资料。根据下面的资料建立 SAS 数据集 1、抽样调查某地 120 名 18 岁~35 岁健康男性居民血清铁含量(μmol/L)...
SAS学习系列09. 用SET语句创建,修改数据集
SAS学习系列09. 用SET语句创建,修改数据集_计算机软件及应用_IT/计算机_专业资料。SAS学习系列,SET语句,创建,修改数据集,UPDATE,TRANSPOSE09...
sas操作
〖实验指导〗 ★有关知识★ 对数据字段位置固定的源数据,也可以采用格式化的输入模式更灵活地建立 SAS 数据 集。一般形式: input 指针控制 变量名 输入格式名 [...
建立SAS数据仓库
建立SAS 数据仓库的基本步骤实验目的: 实验目的:掌握数据从数据源(SAS 数据集)到数据仓库存储的完整过程。 实验步骤: 实验步骤: 一、建立数据仓库的三个文件夹 1...
实验三 SAS基本内容 (1)
建立 SAS 数据集, SAS 系统数学运算 符号及常用的 SAS 函数,逻辑语句与循环语句.会建立 SAS 数据集,运行程序,分析结果. 二、实验内容 1.直接输入数据建立 SAS...
SAS讲义 第九课建立SAS系统的数据集(ACCESS)
一 . 用 SAS/ACCESS 建立描述符和数据视窗 为了使 SAS/ACCESS 系统能访问外部数据库,首先 SAS/ACCESS 系统要建立外部数据 库文件的描述性数据文件(.ACCESS) ,...
SAS面向多个数据集的加工
变量 LAST 不包含在新创建的数据集中。 ②SAS数据集 ex060101 中读入 1 个观测并重新输入 ex060103 后,本来应 该顺序执行下面的 INPUT 语句,但它执行完 ...
数据集的拼接和合并-SAS
数据集的链接是把两个或以上的观测集连接成一个新的数据集。 连接的方式有两种, 拼接和 合并。在 sas 数据步中用 set 语句可以拼接数据集,而用 merge 语句...
SAS编程数据挖掘学习笔记(原创)
SAS编程数据挖掘学习笔记(原创)_计算机软件及应用_IT/计算机_专业资料。SAS基础学习和商业数据挖掘高级学习1. 数据集 永久(可以自己建立逻辑库,也可以放 sasuser 逻...
更多相关标签: