SAS数据集更新

2010.10.25 / 标签: , / 分类: 未分类

当我们需要对数据集中的某些数据进行更改时,可以使用如下DATA步实现数据集的更新:

DATA 新数据集名;
	UPDATE 原数据集 更新用数据集;
	BY 关键变量;
RUN;

阅读全文>>

SAS数据集拆分与合并

2010.10.22 / 标签: , / 分类: 未分类
Sofa

原始数据集DALL:

Obs a b c d e

1 12 324 523 1234 543

阅读全文>>

SAS过程步常用语句一

2010.09.17 / 标签: , / 分类: 未分类
Sofa

1.VAR语句

VAR语句在很多过程中用来指定分析变量,其形式如:

VAR 变量名1 变量名2 … 变量名N;

例如:

VAR a b c d;

变量名列表可以使用省略的形式,如X1-X10。
例如:

VAR Neeke1-Neeke3;

等同于

VAR Neeke1 Neeke2 Neeke3;

2.MODEL语句

MODEL语句在一些统计建模过程中用来指定模型的形式。其一般形式为:

MODEL 因变量 = 自变量表 / 选项;

例如:

MODEL chinese = math;

其意就是用数学成绩预测语文成绩。

3.BY语句和CLASS语句

BY语句在过程中一般用来指定一个或几个分组变量,根据这些分组变量值把观测分组,然后对每一组观测分别进行本过程指定的分析。在使用带有BY 语句的过程步之前一般先用SORT过程对数据集排序。比如,假设我们已经把NEEKE数据集按性别排序,则下列PRINT过程可以把男、女生分别列出:

PROC PRINT DATA=NEEKE;
	BY sex;
RUN;

其结果为:

The SAS System 2
———————————– SEX=男 ———————————–
OBS NAME MATH CHINESE
1 李明 92 98
2 王思明 86 90
3 张聪 98 109
———————————– SEX=女 ———————————–
OBS NAME MATH CHINESE
4 张红艺 89 106
5 刘颍 80 110

在一些过程(如方差分析)中,使用CLASS语句指定一个或几个分类变量,它实际相当于因变量。而在另一些过程(如MEANS)中,CLASS语句作用与BY语句类似,可以指定分类变量,把观测按分类变量分类后分别进行分析。使用CLASS 时不需要先按分类变量排序。

4.OUTPUT语句

在过程步中经常用OUTPUT语句指定输出结果存放的数据集。不同过程中把输出结果存入数据集的方法各有不同,OUTPUT 语句是用得最多的一种,其一般格式为:

OUTPUT OUT=输出数据集名 关键字=变量名 关键字=变量名 …;

其中用OUT=给出了要生成的结果数据集的名字,用“关键字=变量名”的方式指定了输出哪些结果(关键字的例子比如MEANS 过程中的MEAN,VAR,STD 等等),等号后面的变量名指定了这些结果在输出数据集中叫什么名字。例如:

DATA NEEKE;
	INPUT name$ math chinese;
	CARDS;
	neeke1 60 70
	neeke2 70 80
	neeke3 80 90
	neeke4 90 100
	;
RUN;
PROC PRINT;
RUN;
 
PROC MEANS DATA = NEEKE;
	VAR math chinese;
	OUTPUT OUT = result;
RUN;
PROC PRINT DATA = result;
RUN;

输出结果:

MEANS PROCEDURE

变量 N 均值 标准差 最小值 最大值
—————————————————————————-
math 4 75.0000000 12.9099445 60.0000000 90.0000000
chinese 4 85.0000000 12.9099445 70.0000000 100.0000000
—————————————————————————-

SAS循环结构

2010.09.09 / 标签: , / 分类: 未分类

SAS 数据步可以使用丰富的循环结构,主要的是两种:计数DO循环和当型、直到型循环。 阅读全文>>

SAS分支结构之SELECT

2010.08.21 / 标签: , / 分类: 未分类
Sofa

SAS的IF结构允许嵌套,但SAS不提供IF-ELSEIF-ELSE的多分支结构。但是SAS提供类似其它语言中的SWITCH结构的SELECT结构。 阅读全文>>

SAS分支结构之IF

2010.08.19 / 标签: , / 分类: 未分类
Sofa

如果需要在某一条件满足时执行某一操作,可以使用:

IF 条件 THEN 语句;

的结构。如:

DATA;
	x = 1;
	IF x > 0 THEN PUT 'x是正数';
RUN;

阅读全文>>

SAS语言构成

2010.08.10 / 标签: , / 分类: 未分类

SAS语句

SAS程序由数据步和过程步组成。数据步用来生成数据集、计算、整理数据,过程步用来对数据进行分析、报告。SAS语言的基本单位是语句,每个SAS语句一般由一个关键字(如DATA,PROC,INPUT,CARDS,BY)开头,包含SAS名字、特殊字符、运算符等,以分号结束。SAS关键字是用于SAS语句开头的特殊单词,SAS语句除了赋值、累加、注释、空语句以外都以关键字开头。SAS名字在SAS程序中标识各种SAS成分,如变量、数据集、数据库,等等。SAS名字由1到8个字母、数字、下划线组成,第一个字符必须是字母或下划线。SAS关键字和SAS名字都不分大小写。

SAS程序规则

SAS程序由SAS语句构成。像其它高级编程语言一样,每个语句以分号结尾。SAS语言中只要允许使用一个空格的地方,就可以加入任意多个空白(空格、制表符及回车),允许用空格的地方是名字周围及运算符周围。 阅读全文>>

Hello SAS

2010.08.09 / 标签: , / 分类: 未分类

SAS程序代码:

data;
title www.ineeke.com;
str = 'Hello SAS';
put str;
run;
proc print;
run;

输出:

www.ineeke.com 2008年08月09日 星期六 上午11时08分58秒 8

Obs str

1 Hello SAS

日志:

57 data;
58 title www.ineeke.com;
59 str = ‘Hello SAS’;
60 put str;
61 run;

Hello SAS
NOTE: 数据集 WORK.DATA8 有 1 个观测和 1 个变量。
NOTE: “DATA 语句”所用时间(总处理时间):
实际时间 0.03 秒
CPU 时间 0.01 秒

62 proc print;
63 run;

NOTE: 有 1 个从数据集 WORK.DATA8 读取的观测。
NOTE: “PROCEDURE PRINT”所用时间(总处理时间):
实际时间 0.00 秒
CPU 时间 0.00 秒

无觅相关文章插件,快速提升流量