第4章 数据的分析和处理
3.1 PROC分析处理 前面讲了DATA的输入,加工,编辑方法及过程。下面将讨论SAS程序中最重要的部分:PROC分析方法。PROC分析是利用各种SAS模块和命令,进行统计分析,输出其分析结果的过程。任意PROC分析处理,均以PROC文件开始。在本书中应用到的主要PROC文件有如下几种。 ○aPROC UNIVARIATE:描述性统计分析,正态分布检验等 ○bPROC ANOVA:方差分析 ○cPROC FACTOR:因子分析 ○dPROC STEPDISC:分段判别分析 ○ePROC CLUSTER:聚类分析(群体分析) ○fPROC MEANS:t检验及F检验
2
○gPROC FREQ:制频数分布表和列联表及x检验 ○hPROC CORR:相关分析 ○iPROC REG:回归分析 ○jPROC PRINCOMP:主成分分析 ○kPROC DISCRIM:判别分析 ○lPROC LOGIST:逻辑斯蒂分析 ○mPROC FASTCLUS:K-平均聚类分析 ○nPROC SORT:整理资料命令 ○oPROC PRINT:打印命令 ○pPROC PLOT:作图命令 ○qPROC FORMAT:注释变量内容 ○rPROC SUMMARY:汇总资料命令 ○sPROC STANDARD:资料的标准化 ○tPROC TRANSPOSE:互换data set的行列位置命令 ○uPROC RANK:秩次分析 ○vPROC CHART:作图命令 关于以上○a-m○PROC分析命令,从下章开始详细讨论。本章先叙述○n-○vSAS命令。
3.2 PROC SORT PROC SORT(资料整理)命令将根据由基准变量决定的位次,对DATA set中的观测值进行检索和重新整理。利用PROC SORT命令进行资料的重新整理时,必须把基准变量(决定位次)写在BY后面。PROC SORT命令的一般形式为:
PROC SORT DATA=DSN1 OUT=DSN2;
6
BY 变量名 (BY DESCENDING 变量名);RUN;
、
□PROGRAM解释:
①PROC SORT DATA=DSN1 OUT=DSN2; DSN1是尚未整理的DATA set,DSN2代表整理后的DATA set。即把DSN1资料进行SORT(整理)后,以DSN2名储存。
②BY 变量名(BY DESCENDING 变量名); BY 变量名:以BY后面的变量为基准,按由小到大的顺序(英文字母按a,b,c, d,?顺序)进行资料整理。如果BY后面写2个以上的变量,则按变量的排序按由小到大的顺序进行整理。BY DESCENDING 变量名:按由大到小的顺序进行。 例2-18:
DATA example;
INPUT gender $ height weight @@; CARDS;
nan 68 155 nu 61 99 nu 63 115 nan 70 205 nan 69 170 nu 65 125 nan 72 220 nu 56 136
nu 60 170 nan 71 194 nan 75 202 nu 62 184 nu 61 103 nan 70 201 nu 63 115 nan 72 215
nan 63 192 nu 69 160 RUN;
PROC SORT DATA=example out=example1; BY gender DESCENDING height; PROC PRINT DATA=example1; RUN; □Program解释:
PROC SORT DATA=example out=example1;
①把资料example① ③
BY gender DESCENDING height; ② 按性别、(由大到小)进行整理(SO②把整理后的资料储example1名下→③打印已后的资料example1 PROC PRINT DATA=example; 7
□运行结果
OBS GENDER HEIGHT WEIGHT 1 nan 75 202 2 nan 72 220 3 nan 72 215 . . . . . . . . . . . . . . 16 nu 61 103 17 nu 60 170 18 nu 56 136
在上面的例子中,GENDER(性别)按由小到大的顺序,身高按由大到小的顺序进行整理。
3.3 PROC PRINT PROC PRINT是打印命令, 其基本形式如下:
□PROGRAM 解释:
①PROC PRINT [DATA=dsn] option; - PROC PRINT是打印必须的SAS命令。 - [DATA=dsn]:DATA指定要打印的资料名dsn。若不指定资料名dsn,则打印最新资料。
Option(选择事项)
- DATA=资料名(FIRSTOBS=s OBS=n):指定打印范围。 例:
PROC PRINT [DATA=dsn] option;
VAR 变量名; BY 变量名; SUM 变量名; SUMBY 变量名; PAGEBY 变量名; TITLE ‘标题’ LABEL 变量 =‘变量名’
8
DATA ONE; INPUT X Y @@; CARDS;
1 2 3 4 5 4 5 6 7 8 RUN;
PROC PRINT DATA=ONE(FIRSTOBS=5 OBS=15); RUN;
- N:代表打印DATA的个数。 例:
DATA ONE; INPUT X Y @@; CARDS;
1 2 3 4 5 4 5 6 7 RUN;
PROC PRINT N; RUN;
-LABEL:打印变量的表格。若没有LABEL,打印原来变量。详见第三章LABEL命令
的用法。
PROC PRINT LABEL;
- NOOBS:不打印观测值的序号OBS。
PROC PRINT NOOBS;
- SPLIT=‘*’:凡是带有‘*’标记的表格,按纵向分离打印。
PROC PRINT SPLIT='*';
- UNIFORM:在各页打印的列数相等。打印2页以上的资料时利用此命令。 - ROUND:小数点后的位数。
- DOUBLE:行间距离按double spacing打印。
②VAR 变量(一个以上的变量):指定要打印的变量名,并且按各变量的排列顺序打印。
③BY 变量:按BY后面的变量为基准,分类打印。比如,BY GENDER;按性别打印。 ④SUM变量名:变量的末端打印指定变量的总和。
⑤SUMBY变量名: 打印指定变量每一次变化时的总和。 例:
data one; input x y @@; cards;
1 2 1 4 5 6 1 8 5 5 5 7 5 6
9
run;
proc sort; by x;
proc print; by x; sumby x; run;
⑥PAGEBY 变量名:按指定的变量名分页打印。比如,PAGEBY GENDER;按性别分页打印。
⑦TITLE ‘标题’:标题的长短不准超过78个字符。若标题超过一个以上,可用多个标题。比如,TITLE1,TITLE2。 ⑧LABEL 变量=‘变量名’:给变量命名。比如,LABEL X=’GNP’。
例2-19:1995-1999年期间,东方化工厂的总生产额和总生产费用如表2-2。求该厂的年利润(总生产额-总生产费用)和年利润率(利润/总生产额), 并将其结果作表打印。
(表2-2)总生产额及总生产费用 (单位:万元)
年 度 生产总额 总费用 1995 2564 1568 1996 2482 1987 1997 2596 2035 1998 2784 2280 1999 2987 2561 □SAS PROGRAM DATA ONE;
INPUT YEAR SALES COST @@;
PROFIT=SALES-COST; RATIO=(PROFIT/SALES)*100; CARDS;
1995 2564 1568 1996 2842 1987 1997 2596 2035 1998 2784 2280 1999 2987 2561 RUN;
PROC PRINT SPLIT='*'; ←凡是带有‘*’标记的表格,按纵向分离打印 VAR YEAR SALES COST PROFIT RATIO;
SUM SALES COST PROFIT RATIO; ← 各变量的总和 TITLE '1995-1999 DONG FANG HUA GONG CHANG'; ← 题目 LABEL SALES='SALES FOR * YEAR' ← 作表格 COST='TOTAL * COST'
PROFIT='PROFIT BEFORE * TAX'
RATIO='PROFIT TO * SALES RATIO'; RUN; □运行结果
10
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库数据的分析和处理在线全文阅读。
相关推荐: