Sas学习笔记
SAS使用学习笔记(对应分析)

SAS使用学习笔记(对应分析)1对应分析是不仅研究变量之间的关系、还要研究样品之间的关系。
它通过在同一个直角坐标系内同时表达出变量与样品两者之间的相互关系。
2对应分析例子下面是某研究者收集到的资料,试分析各种基因频率与民族之间的关系。
各民族下面的小数是44种基因出现的频率。
基因型(JY)藏族(Z) 尼泊尔(N) 印度(Y) 汉族(H)。
程序:DATA b;INPUT jy $ 1-3 z 6-11 n 14-19 y 22-27 h 30-35;cards;A1 0.0308 0.01800.11900.0149A2 0.3333 0.10700.14800.3492A3 0.0204 0.01900.10100.0176A9 0.3037 0.27900.15600.1414A100.0409 0.01800.03900.0313A110.1354 0.42200.12600.2977A280.0000 0.01800.08300.0094A300.0413 0.00000.00000.0217A310.0518 0.03700.02200.0121A320.0000 0.01900.03900.0013A330.0000 0.06700.08300.0608B5 0.2828 0.11800.13400.0825B7 0.0000 0.01900.08000.0244B8 0.0102 0.01180.04500.0094B120.0102 0.03700.06600.0121B130.0102 0.07700.00600.0650B140.0000 0.00000.00600.0013B150.1923 0.25400.09600.1092B180.0050 0.02800.02200.0000B270.1067 0.00000.02600.0204B350.0626 0.05700.14800.0342B370.0102 0.01800.00900.0067B380.04650.0470 0.00300.0015B390.01020.0000 0.00900.0176B460.01020.00900.00000.1813B480.05720.15000.00300.0108B500.01020.01800.03700.0000B530.00500.0000 0.00600.0000B540.01530.00000.00000.0176B550.05720.02800.02600.0217B560.01020.00900.00600.0040B570.00500.01800.03900.0341B580.00000.06700.03300.0139B600.06260.02800.02200.0723B610.08990.00000.08300.1080B700.00500.00000.00800.0000C1 0.08990.03700.02300.1716C2 0.02040.00000.07300.0397C3 0.17980.10700.08300.3269C4 0.16510.07700.13400.0495C5 0.00000.00900.01600.0054C6 0.02560.24500.04500.0081C7 0.17120.21800.11900.1152C8 0.00500.00000.00400.0027;run;PROC CORRESP data=b OUTC=ccc;VAR z n y h;LABEL z='藏族'n='尼泊尔'y='印度'h='汉族';ID jy;RUN;DATA ccc;SET ccc;X=dim1;Y=dim2;XSYS ='2';YSYS ='2';TEXT =jy;SIZE =2;LABEL X='Dimension 1'Y='Dimension 2';keep X Y TEXT XSYS YSYS SIZE;RUN;PROC GPLOT DATA=ccc;SYMBOL1V=#;AXIS1LENGTH=5 IN ORDER=-1.3 TO 1.3 BY 0.2;AXIS2LENGTH=5 IN ORDER=-1.3 TO 1.3 BY 0.2;PLOT Y*X=1 / ANNOTATE=ccc FRAME HAXIS=AXIS1VAXIS=AXIS2 HREF=0VREF=0;RUN;输出:The CORRESP ProcedureInertia and Chi-Square DecompositionSingular Principal Chi- CumulativeValue Inertia Square Percent Percent 8 16 24 32 40----+----+----+----+----+---0.42302 0.17895 1.83072 41.61 41.61 **************************0.39266 0.15418 1.57736 35.85 77.46 **********************0.31137 0.09695 0.99184 22.54 100.00 **************Total 0.43007 4.39992 100.00Degrees of Freedom = 129SAS 系统 2008年05月04日星期日下午02时39分56秒 The CORRESP ProcedureRow CoordinatesDim1 Dim2A1 0.5878 0.8300A2 -0.4233 0.1209A3 0.5708 0.7845A9 0.0741 -0.1562A10 -0.0466 0.2818A11 0.0191 -0.3738A28 0.8269 0.8844A30 -0.7954 0.0516A31 0.1126 -0.1366A32 0.9506 0.5206A33 0.2931 0.1666B5 -0.0085 0.0766B7 0.5508 0.7576B8 0.5282 0.6647B12 0.6453 0.3736B13 -0.1439 -0.5749B14 0.6310 1.2240B15 0.1193 -0.3016B18 0.8250 -0.1198B27 -0.3381 0.2782B35 0.4306 0.4728B37 0.2494 -0.2481B38 0.1990 -0.6104B46 -1.2499 0.0376B48 0.4093 -0.9132B50 0.7714 0.4510B53 0.3664 0.8090B54 -0.9706 0.0684B55 -0.0427 0.0207B56 0.1278 -0.1051B57 0.0754 0.3742B58 0.6482 -0.3801B60 -0.4505 0.0137B61 -0.3745 0.4819B70 0.4748 0.9100C1 -0.7041 0.0091C2 0.0968 0.8397C3 -0.5193 0.0178C4 0.1452 0.2307C5 0.5711 0.3791C6 0.7305 -0.8444C7 0.1169 -0.1805C8 -0.1612 0.5353SAS 系统 2008年05月04日星期日下午02时39分56秒 The CORRESP ProcedureSummary Statistics for the Row PointsQuality Mass InertiaA1 0.9966 0.0179 0.0431A2 0.9583 0.0916 0.0431A3 0.9744 0.0154 0.0347A9 0.3838 0.0860 0.0156A10 0.8715 0.0126 0.0027A11 0.6324 0.0959 0.0494A28 0.9068 0.0108 0.0406A30 0.5695 0.0062 0.0160A31 0.1562 0.0120 0.0056A32 0.9073 0.0058 0.0174A33 0.2820 0.0206 0.0193B5 0.0274 0.0603 0.0304B7 0.7996 0.0121 0.0308B8 0.9666 0.0075 0.0129B12 0.9043 0.0122 0.0175B14 0.9031 0.0007 0.0035B15 0.8864 0.0637 0.0176B18 0.9645 0.0054 0.0090B27 0.1832 0.0150 0.0364B35 0.9998 0.0295 0.0281B37 0.9998 0.0043 0.0012B38 0.5599 0.0096 0.0164B39 0.9636 0.0036 0.0040B46 0.6708 0.0196 0.1062B48 0.9847 0.0216 0.0511B50 0.9990 0.0064 0.0118B53 0.7205 0.0011 0.0027B54 0.9637 0.0032 0.0073B55 0.0150 0.0130 0.0045B56 0.3142 0.0029 0.0006B57 0.3852 0.0094 0.0083B58 0.7578 0.0111 0.0193B60 0.9902 0.0181 0.0086B61 0.9992 0.0275 0.0238B70 0.8576 0.0013 0.0036C1 0.9447 0.0314 0.0383C2 0.9242 0.0130 0.0234C3 0.9069 0.0681 0.0471C4 0.3959 0.0416 0.0182C5 0.6915 0.0030 0.0047C6 0.9669 0.0316 0.0949C7 0.9160 0.0609 0.0072C8 0.7360 0.0011 0.0011SAS 系统 2008年05月04日星期日下午02时39分56秒 The CORRESP ProcedurePartial Contributions to Inertia for the Row PointsDim1 Dim2A1 0.0345 0.0798A2 0.0918 0.0087A3 0.0281 0.0616A9 0.0026 0.0136A10 0.0002 0.0065A11 0.0002 0.0869A28 0.0412 0.0547A30 0.0218 0.0001A31 0.0009 0.0015A32 0.0293 0.0102A33 0.0099 0.0037B5 0.0000 0.0023B7 0.0204 0.0449B8 0.0116 0.0214B12 0.0285 0.0111B13 0.0018 0.0332B14 0.0016 0.0069B15 0.0051 0.0376B18 0.0204 0.0005B27 0.0096 0.0075B35 0.0306 0.0428B37 0.0015 0.0017B38 0.0021 0.0231B39 0.0059 0.0040B46 0.1711 0.0002B48 0.0202 0.1168B50 0.0212 0.0084B53 0.0008 0.0046B54 0.0169 0.0001B55 0.0001 0.0000B56 0.0003 0.0002B57 0.0003 0.0085B58 0.0261 0.0104B60 0.0205 0.0000B61 0.0215 0.0414B70 0.0016 0.0068C1 0.0871 0.0000C2 0.0007 0.0595C3 0.1026 0.0001C4 0.0049 0.0144C5 0.0054 0.0028C6 0.0944 0.1463C7 0.0047 0.0129C8 0.0002 0.0021SAS 系统 2008年05月04日星期日下午02时39分56秒 The CORRESP ProcedureIndices of the Coordinates that Contribute Most to Inertia for the Row PointsDim1 Dim2 BestA1 2 2 2 A2 1 0 1 A3 2 2 2 A9 0 0 2 A10 0 0 2 A11 0 2 2 A28 2 2 2 A30 1 0 1 A31 0 0 2 A32 1 0 1 A33 0 0 1 B5 0 0 2 B7 0 2 2 B8 0 0 2 B12 1 0 1 B13 0 2 2 B14 0 0 2 B15 0 2 2 B18 0 0 1 B27 0 0 1 B35 2 2 2 B37 0 0 2 B38 0 0 2 B39 0 0 1 B46 1 0 1 B48 0 2 2 B50 0 0 1 B53 0 0 2 B54 0 0 1 B55 0 0 1 B56 0 0 1 B57 0 0 2 B58 1 0 1 B60 0 0 1 B61 2 2 2 B70 0 0 2 C1 1 0 1 C2 0 2 2 C3 1 0 1 C4 0 0 2 C5 0 0 1 C6 2 2 2 C7 0 0 2C8 0 0 2SAS 系统 2008年05月04日星期日下午02时39分56秒 The CORRESP ProcedureSquared Cosines for the Row PointsDim1 Dim2A1 0.3329 0.6637A2 0.8860 0.0723A3 0.3373 0.6371A9 0.0705 0.3133A10 0.0232 0.8483A11 0.0016 0.6307A28 0.4230 0.4838A30 0.5671 0.0024A31 0.0632 0.0931A32 0.6979 0.2094A33 0.2131 0.0689B5 0.0003 0.0270B7 0.2765 0.5231B8 0.3742 0.5924B12 0.6773 0.2270B13 0.0341 0.5446B14 0.1896 0.7135B15 0.1198 0.7666B18 0.9445 0.0199B27 0.1092 0.0739B35 0.4533 0.5465B37 0.5025 0.4972B38 0.0538 0.5061B39 0.6037 0.3599B46 0.6702 0.0006B48 0.1647 0.8200B50 0.7445 0.2545B53 0.1227 0.5979B54 0.9589 0.0048B55 0.0122 0.0029B56 0.1874 0.1268B57 0.0150 0.3701B58 0.5639 0.1939B60 0.9893 0.0009B61 0.3762 0.6230B70 0.1835 0.6741C1 0.9445 0.0002C2 0.0121 0.9121C3 0.9058 0.0011C4 0.1123 0.2836C5 0.4801 0.2115C6 0.4139 0.5530C7 0.2707 0.6453C8 0.0612 0.6748SAS 系统 2008年05月04日星期日下午02时39分56秒 The CORRESP ProcedureColumn CoordinatesDim1 Dim2藏族 -0.2025 0.0083尼泊尔 0.3658 -0.5460印度 0.4529 0.5754汉族 -0.5915 0.0430Summary Statistics for the Column PointsQuality Mass Inertia藏族 0.1413 0.2629 0.1777尼泊尔 0.9737 0.2630 0.2713印度 0.9815 0.2274 0.2888汉族 0.7697 0.2468 0.2622Partial Contributions to Inertia for the Column PointsDim1 Dim2藏族 0.0602 0.0001尼泊尔 0.1967 0.5086印度 0.2606 0.4883汉族 0.4825 0.0030Indices of the Coordinates that Contribute Most to Inertia for the Column PointsDim1 Dim2 Best藏族 0 0 1尼泊尔 2 2 2印度 2 2 2汉族 1 0 1 Squared Cosines for the Column PointsDim1 Dim2藏族 0.1411 0.0002尼泊尔 0.3016 0.6721印度 0.3754 0.6060汉族 0.7657 0.0040说明:根据Column CoordinatesDim1 Dim2藏族 -0.2025 0.0083尼泊尔 0.3658 -0.5460印度 0.4529 0.5754汉族 -0.5915 0.0430,我们可以得到:藏族=-0.202490Dim1+0.008300Dim2尼泊尔= 0.365818Dim1-0.546045Dim2印度= 0.452903Dim1+0.575439Dim2汉族=-0.591500Dim1+0.042981Dim2在以dim1与dim2作为横轴与纵轴的直角坐标系内,每个变量就是1个点,如Z(藏族)点的坐标为(-0.202490,0.008300)。
非常实用的sas课程--个人笔记

一、数值变量1、单样本2、两独立样本3、两配对样本4、数据的Excel转sas5、多组样本方差分析6、两因素多水平的重复测量资料的分析7、随机区组设计资料的方差分析8、协方差9、完全随机设计资料的协方差分析10、直线相关分析11、多变量回归分析目录二、分类变量四格表基础公式连续校正公式配对四格表资料的x2检验RXC表三、样本含量的估计一、数值变量1、单样本:正态数据ttest课本p51data a; /*建立数据集*/ input X @@; datalines; 171 79 135 78 118 175 122 105 111 140 138 132 142 140 168 113 131 145 128 124 134 116 129 155 135 134 136 113 119 132 ;proc print data=a; /*打印数据集;每一次重新运行下面语句,必须有这一步为前提,目的为把数据存入内存*/ run;proc means n mean median std min max data=a; /*描述的统计量;描述数据集的特征*/ var X; run;proc univariate normal plot data=a; /*正态性分析;查看test for normality中Shapiro-Wilk 的W 值0.945184 对应的Pr < W 0.1255 正态性检验,发现p值大于0.05,则为正态分布的数据*/ var X; run;proc ttest h0=140; /*假设检验;语句的选择以正态性分析结果为准*/ var X; run;非参数统计方法:/*过去对2型糖尿病患者的研究得出其BMI=28.4。
*/data a; input patno wt_kg ht_cm; ht_m=ht_cm/100;BMI=wt_kg/(ht_m*ht_m);datalines;1 101.7 1782 107.1 1703 114.2 1914 111.9 1795 80.1 1826 118.1 1777 85.0 1848 89.1 1829 195.8 18410 97.8 18311 78.7 . /*缺省值用“.”表示*/12 117.5 17213 122.8 18314 91.1 16915 112.1 17716 122.1 18017 89.7 184 ;proc print data=a; run;proc means n mean median std min max data=a; var wt_kg ht_cm BMI; run;proc univariate normal plot data=a; /*查看test for normality中Shapiro-Wilk 的W 值0.849997 对应的 Pr < W 0.0136 正态性检验,发现p值小于0.05,则为非正态数据*/ var BMI; run;/*以下为另外两种检验正态性分布的方法*/proc rank out=rnk data=a; /*按照BMI运用rank的过程排序,产生新变量r_BMI,输出的数据集为rnk*/ var BMI; ranks r_BMI; run;proc sort data=a; /*对rnk数据集中的BMI,也是检验正态的直观办法*/by BMI; run;proc print data=rnk; /*检验BMI的原始值和其秩次r_BMI的对应关系是否正确*/ var BMI r_BMI; run;proc plot data=rnk; /*输出QQ-plot,检验BMI是否正态。
SAS笔记

一、VAR语句VAR语句在很多过程中用来指定分析变量。
在VAR后面给出变量列表:VAR 变量名1 变量名2 …变量名n;变量名列表可以使用省略的形式,如X1-X3,MATH--CHINESE等。
VAR用法例如:var math chinese;WHERE 语句WHERE 语句的格式很简单,只要后面跟用于数据筛选的逻辑表达式即可:WHERE logical-expression(s);下面的例子基于 test1 数据表生成 test2 数据表,但是只选择满足 sex='F' 并且 age>20 的数据行:data test2; set test1; where sex='F' AND age>20; run;表面看来,WHERE 语句和数据步骤中的SAS IF 语句的功能相近,都是筛选数据和。
实际上WHERE 语句和IF语句的运作机制是不同的。
WHERE 语句相当于对数据集执行了一个 SQL Select 的操作。
也就是说,在进入到操作前数据已经被整体筛选过了,而IF 语句是在数据步骤的每个循环中单独执行的,WHERE 语句显然效率要提高很多。
如果数据表是索引过的,那么WHERE 语句能够更加显著地提高效率。
WHERE 语句也有其限制。
因为它是对现存的数据表的整体性操作,故而只能对该数据表中已有的变量进行筛选操作,不能对数据处理后生成的变量操作,也不能对INPUT 语句定义的变量操作。
WHERE 语句不但能用于数据步骤中还能用于过程语句中。
操作符除了一般的 SAS 操作符(见SAS 语法),WHERE 语句还支持一些特有的操作符。
between ... and。
比如:where x between 10 and 20;其实相当于:where 10<=x<=20;contains。
字符串包含。
可以用问号代替。
比如:where firstname contains 'john'; where firstname ? 'john';is null 或is missing。
SAS学习(初识)

SAS 初识(学习笔记)1自顶向下的设计,自底向上的运行2 SAS程序由一个数据步data work.filenam ; ....... run;若干执行步proc print ....... run;proc KEYword ...... run;可归纳为DATA步和PROC步两个部分。
DATA步生产、整理数据报表编写,文件管理、信息检索等都在DATA中完成。
PROC步分析数据管理数据、生成报告和图表及对数据排序等在PROC中完成。
3 SAS语句通常以SAS关键字开头,以分号(;)结束4 SAS数据集是一个由SAS创建并且处理的文件,是一个包含数据值的特殊结构性文件。
数据必须以SAS数据集的形式存在才能用SAS程序和一些DA TA步语句处理。
SAS数据集由描述信息部分,包括一般信息和变量信息用contents 过程浏览proc contents DATA=SAS-data-set ;run;数据值部分是由字符或数字数据值组成的表格。
用PRINT过程浏览proc print DA TA=SAS-data-set;run;数据部分是一个由字符和/或数字数据值组成的矩形表格。
变量名称是描述部分的一部分,而不属于数据部分。
5 SAS逻辑厍是SAS文件的集合。
就是一个目录。
在使用中要通过一个引用名来识别。
SAS逻辑库分临时库和永久库,名为的work是临时库,由SAS 自动创建,随着SAS会话的结束,其中的数据文件将被删除;永久库则会保存下来。
当我们在磁盘上创建了一个文件目录并将使其做为SAS永久库时,需要使用LIBNAME语句分配一个逻辑库引用名libname x_name‘s:\workshop’;由此SAS建立了逻辑库(引用)名与操作系统上的文件目录的物理位置建立了连接。
当SAS会话结束后,逻揖库引用名与文件的物理位置之间的走接就会切断。
数据集是逻辑库中的一个SAS文件,在物理上是逻辑库对应的那个目录中的一个文件。
SAS学习笔记

/*此处可添加更多weight宏*/
run;
/*先观察一下,灵敏度和特异性有问题的时候,再修改上面的打分程序*/
proc sort data=new1;
run;
/*此处扩展名可自行添加更多,使得筛选更全面*/
data novideo;
input noname:$12. @@;
cards;
jpg doc xls docx xlsx ppt pptx mp3 bmp gif wma tif html csv txt exe pdf sas wav png
%weight(var1=欲,var2=爱,var3=少妇,var4=情爱,var5=床,var6=com,var7=www,var8=美女,var9=漂亮,var10=炮,n=10);
%weight(var1=骚,var2=爽,var3=逼,var4=私,var5=风流,var6=,var7=,var8=,var9=,var10=,n=15);
(5)程序编辑器,增强型编辑器PGM,WEDIT
(6)日志窗口LOG
(7)“输出”窗口OUTPUT
(8)“SAS资源管理器”EXPLORER
1、在命令栏中可以输入多个窗口命令,命令之间必须用分号分隔。
例如打开‘脚注’和‘查找’窗口
Footnote;expfind
2、LOG窗口-log
程序行:黑色表示
仅写出很少的字段。更多字段读者自行添加 */
data new1;
set new;
weight=0;
sas课程笔记

目录1、数据导入(对于导入数据参见little sas book第二章) (2)1.1创建新逻辑库创建新逻辑库有两种方法: (2)1.2 将你的数据放入SAS*/ (3)1.3用LIBNAME语句使用永久数据集 (3)2、开发数据(参见little sas book第三章) (3)2.1 格式、输入、读取 (3)2.2 用IF THEN DO END 和else if选择数据或选取部分数据 (5)2.3 求取最大值和总值 (6)2.4 累加和累乘 (7)2.5数组处理 (7)练习计算某只股票某段时间的累计收益率和年化收益率(提取数据和计算) (8)3、函数- COMPBL & COMPRESS、 (11)3.1 COMPBL & COMPRESS去掉空格 (11)3.2 INDEX;是找寻后一个变量在前一个变量中的位置 (12)3.3 SCAN提取字串、SUBSTR替换字串 (12)3.4 VERIFY;核实某字符的存在 (13)3.5 UPCASE vs. LOWCASE; (13)3.6 日期时间的显示和计算 (14)3.7 Truncation 用函数处理具体数值 (16)3.8 数据转置 (18)3.9 概率统计与随机抽样函数 (18)练习计算A股股票在2014年的双周收益率序列 (21)4、对表的处理 (22)4.1 表的连接 (22)4.2 表的合并 (24)5、数据查询实例 (27)6、利用宏 (30)6.1 利用宏程序导入股票日交易数据 (30)6.2用宏程序导入两个文本文件的数据并计算两只股票的总收益率和(几何平均)年收益率 (32)6.3 求winners50和losers50(答案) (33)6.4.1定义宏变量 (35)6.4.2引用宏变量 (36)6.4.3 多次引用宏变量 (36)6.4.4 改变宏变量的值 (37)6.4.5 如何隔开宏变量引用和文本 (38)6.4.6 显示宏变量值 (38)6.4.7 间接引用宏变量&& (38)6.4.8 定义宏和调用宏(什么是宏?) (39)6.4.9 宏参数(定义在宏%MACRO语句内的宏变量) (40)6.4.10 宏程序语句和宏函数 (41)1、对于在CSMAR下载的数据,用foxpro格式下载,然后用Stat/Transfer转换成SAS格式;对于在RESSET数据库下载的数据,建议使用下载数据时自动生成的数据导入程序(可能要稍作修改)导入SAS。
The little SAS book 学习笔记第七章

The little SAS book 学习笔记第七章使用SAS宏功能灵活写代码7.1 宏概述宏以前被认为是经验老道的SAS程序员使用的高级技术。
但现在新手也能够了解一些。
幸运的是,宏的基本功能不是那么难理解。
本章介绍的最普遍使用的SAS宏语言的特征。
宏处理器标准SAS程序中,提交程序后,SAS就编译并立即执行。
但宏语句多了一步,在提交之后,SAS会将宏语句传送到宏处理器上,将其转变为SAS标准代码,通常叫做“变换代码”(meta-programming.)宏和宏变量SAS宏代码包括两个基本部分:宏命令和宏变量。
宏变量通常加一个“&”作为前缀,而宏命令通常加一个“%”作为前缀。
局部VS全局宏变量有局部宏变量和全局宏变量。
如果在宏的内部定义则为局部宏变量,只能在内部使用。
如果在开放代码中定义则为全局宏变量。
避免两种错误:在宏之外(开放代码)使用局部变量;创建同名的局部变量和全局变量。
启动宏处理器使用宏指令之前必须将宏系统选项打开,尽管有时默认是打开的。
可以用下面代码查看是否打开:PROC OPTIONS OPTION=MACRO; RUN;查看日志,如果看到MACRO,则打开了;如果看到NOMACRO,则没有打开。
避免宏错误宏会让人很头痛,可以通过分段形式避免。
首先,用SAS标准语言写下程序;接着,将其转变为宏代码。
7.2 用宏变量提交文本用%let创建一个宏变量最简单给宏变量分配一个值的方法是%let,基本形式为:%LET macro-variable-name=value;宏变量名必须符合SAS命名法则,(少于等于32字节、以字母或下划线开头、只能包括字母、数字和下划线),下面创建了宏变量:%LET iterations=10;%LET country=New Zealand;当赋值字符串时,不需要加引号。
除非在开头和结尾有空格,否则从等号到分号的全部内容都是变量值。
使用宏变量宏变量前面要加前缀&,注意宏处理器找不到单引号内的宏变量,只能用双引号。
2021年sas分析方法笔记

Run;
Procprintdata=sasuser.score;
VarnamemathChinese;//变量
Run;
Procprintdata=sasuser.scorenoobs;//去掉第一列(观测序号)
VarnamemathChinese;
Run;
gcontour过程:画出曲面等高线
Procgcontourdata=数据集名;
Plotx*y=z;
Run;
4.基本记录分析
4.1正态性检查:univariate过程
Procunivariatedata=sasuser.stocknormal;
Vareps;
Run;
Procunivariatedata=sasuser.stocknormal;
SymbolI=nonev=star;
PlotEnglish*Chinese;
Run;
3.9gchart过程:绘制直方图、饼图、三维直方图等。
Procgchartdata=数据集名称;
Vbar/pie/block=变量;
Run;
3.10G3D过程绘制三维曲面
Procg3ddata=数据集;
Plot变量x*变量y=变量z;
Run;
Procprintdata=sasuser.score;//使用by分组输出前用sort排序
Bysex;
Run;
Procprintdata=sasuser.score;
Summath;
Run;
3.2tabulate过程
Proctabulatedata=数据集名称;
Class分类变量;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Sas学习笔记人文社会科学学院高等教育学专业张宁S100081674整个SAS程序结构可以分为两个部分,数据data步与过程proc步。
data步1:输入数据(包括手动输入数据、从文本文件中导入数据)a使用手动方法输入数据基本形式是:Data 数据集;Input 变量名(包括格式设置);/*在input语句中需要指定的格式必须和cards中数据的格式一致,需要考虑字符型与数值型数据的不同,以及是否是标准数据,根据实际情况调整数据格式设定*//* 同时在读入数据的时候,需要参考数据的形式,指定输入的起始位置与字符数,包括使用@指针控制、指定起始列终止列、指定字符数等*/其他语句;/*循环语句,选择语句等*//*sas表达式:sas运算符(包括算数、比较、逻辑)sas函数(包括算数函数、常用函数等)*/Cards ;数据;/*其中数据之间默认为空格作为分隔符,如果分隔符为其他符号,则要在input语句中指定delimiter=‘’*/Run;b使用文本文件导入法基本形式是:Data 数据集;变量属性设定;Infile‘文件地址’(firstobs=,obs= ,missover);Input;其他语句;/*循环语句,选择语句,sas表达式*/Run;当然输入数据的时候可以直接使用sas导入数据选项,根据情况设定形式,导入数据。
c总之在data步中常见的语句有:DA TA语句PUT语句——输出语句SET语句——读取观测语句ATTRIB语句——设定变量属性赋值语句——计算SAS表达式,给变量赋值DROP语句——删除变量语句KEEP语句——保留变量语句IF语句——条件语句DO-END语句——循环语句DELETE语句——删除语句OUTPUT语句——输出到数据集语句COMMENT语句——注释语句ARRAY语句——数组语句在实际操作中,可以灵活的使用这些语句实现数据处理。
2:同时在数据步中可以使用语句实现数据集的加工、合并和拼接a数据集排序/*事先对SAS数据集进行排序,是其它SAS程序通过使用BY语句直接调用该数据集及对数据集进行合并或串接的前提*/PROC SORT OPTIONS ;BY 〔DESCENDING〕变量名列表;END;b数据集串联/*在串联中必须要求同一个变量在不同数据集中数据形式一致,如果不一致,则需使用put函数将数据形式转换*/Concatenate方式Data 新数据集;Set 输入数据集1 输入数据集2 ……;/*可以使用(in=变量k)的形式检测来自哪个数据集*/Run;Interleave方式:Data 新数据集;Set 输入数据集1 输入数据集2 ……;By by-variables ;/*必须排序*/Run;c数据集并联/*用MERGE 语句并接SAS数据集*/MERGE (一对一合并)DATA 新数据集;MERGE 输入数据集1 输入数据集2 ……;RUN;MATCH MERGE(匹配合并)DATA 新数据集;MERGE 输入数据集1 输入数据集2 ……;BY by-variables ;RUN;d修改数据集modify/*modify语句修改数据集,并且此过程不能形成新的数据集,并且不需要排序*/data主数据集名称;modify 主数据集名称更新数据集名称;run;Update/*可以产生新的数据集,需要使用by排序*/data 数据集名称update 主数据集名称更新数据集名称;by变量名称;/*该语句必须出现,而且必须在该data步之前对update语句中的数据集进行排序*/run;Proc步该过程常用的sas语句有:V AR语句—指定分析变量MODEL语句—指定统计建模的模型/*一般采用‘因变量=自变量/选项’的形式*/BY语句—指定分组变量/*使用之前一般要使用proc sort语句进行排序*/CLASS语句—指定分类变量OUTPUT语句—指定输出结果存放的数据集FREQ语句—指定一个重复数变量WEIGHT语句—指定一个权重变量ID语句—指定用来标识观测的变量WHERE语句—选择输入数据集的一个行子集进行分析LABEL语句—为变量指定一个临时标签FORMAT语句—为变量输出规定一个输出格式/*过程步中规定的格式只是在本次运算中起作用,而数据步中规定的实行在整个数据集中永久存在*/1:使用proc print语句输出表格PROC FORMAT;V ALUE ;/*使用该语句定义用户格式*/PROC PRINT DATA 数据集SPLIT='*' ;/*使用该语句控制显示中的格式,使其按要求换行*/ID 变量名; /*把指定的变量在取消obs 的情况下排在表格最左列*/V AR 变量列表;/*需要输出的变量*/WHERE 条件表达式…;SUM 变量序列;/*变量需要处理的形式*/BY 变量名; /*在先前进行排序的情况下,对数据进行分组并要求每组进行小计*/PAGEBY 变量序列;/*是报告表格按组分页*/TITLEn'语句';/*使用该语句控制表头显示可以最多有十个标注*/FOOTNOTEn语句';LABEL 变量1= ‘label(标*签)’……;/*控制表头显示,可使用起始中split=定义的方式美化表格*/FORMA T ;/*用户自定格式的使用*/RUN;2:使用proc tabulate语句输出汇总表格PROC FORMAT;V ALUE ;/*使用该语句定义用户格式*/PROC TABULATE data 数据集options;CLASS /*分类变量,可以是数值型也可以是字符型*/;V AR ;/*分析变量,必须是数值型*/FORMAT ;/*用户自定格式的使用*/TABLE page-v,row-v,colum-v / options;/*table语句中使用的变量必须是class与var中定义过的变量*//*包括元素与操作符,根据操作符的不同控制表格格式,无=每个变量占一单独列;,=两个表达式产生一个二维列表分别代表行和列;两个,=三维列表分别是页行列;*隔开两个表示交叉列表*//*options选项控制表格其他形式,如使用rts控制第一列宽度*/KEYLABEL ;/*使用该语句为all类变量以及所有的统计量加标记*/TITLEn'语句';/*使用该语句控制表头显示可以最多有十个标注*/FOOTNOTEn语句';LABEL 变量1= ‘label(标*签)’……;/*控制表头显示,可使用起始中split=定义的方式美化表格*/RUN;3:使用proc gplot语句绘制散点及折线图PROC GPLOT DATA=数据集;PLOT 纵坐标变量*横坐标变量/选项;/*控制坐标轴:HAXIS=Values|Axisn定义水平轴的刻度;VAXIS=Values|Axisn定义垂直轴的刻度;NOAXIS取消坐标轴及相关的文字;CAXIS=Color定义坐标轴的颜色;CTEXT=Color定义坐标轴文本的颜色*//*加框:FRAME加框;CFRAME= Color给坐标轴包围的区域填色*/ SYMBOL V=I=W=C=;/*V=NONE;PLUS'+';STAR'*';SQUARE'方块';DIAMOND'菱形';TRIANGLG'三角形'*//*I= NONE ;JOIN'直线连接';SPLINE'光滑曲线连接';NEEDLE'从数据到横坐标画垂直线'*//*C=RED;GREEN;BLUE;ORANGE*/LABEL ; 变量1= ‘label(标*签)’……;/*控制表头显示,可使用起始中split=定义的方式美化表格*/TITLE C=颜色H=高度及单位F=字体;/*使用该语句控制表头显示可以最多有十个标注*/FOOTNOTE C=颜色H=高度及单位F=字体;RUN;4:使用proc gcharts语句绘制饼图及柱状图PATTERN c=颜色v=花纹;PROC GCHART DA TA=数据集;VBAR|HBAR|PIE|STAR|BLOCK/*垂直柱状图/水平柱状图/圆饼图/星形图/立体柱状图*/分类变量名列/选项;/*DISCRET/*指定分类方式*/MIDPOINT=列举值/*指定分组中点*/ SUMV AR=变量名/*指定分析变量*/TYPE=FREQ|SUM|MEAN|PCT /*指定统计量(无SUMVAR时缺省为FREQ,否则为SUM )*/GROUP=变量名/*指定分组作图*/SUBGROUP=变量名/*指定柱内分组*/FILL=S(SOLID)|X(CROSS)/*设定饼图的花纹*/*/LABEL ; 变量1= ‘label(标*签)’……;/*控制表头显示,可使用起始中split=定义的方式美化表格*/TITLE C=颜色H=高度及单位F=字体;/*使用该语句控制表头显示可以最多有十个标注*/FOOTNOTE C=颜色H=高度及单位F=字体;RUN;5:使用proc univariate、means、freq语句进行定量资料的统计描述PROC UNIV ARIATE DATA= 数据集名options;/*NOPRINT禁止统计报告在OUTPUT视窗中输出PLOT 绘出茎叶图、箱式图和正态概率图FREQ 给出频数表NORMAL 对变量进行正态性检验*/V AR 变量名列;BY 变量名列; /*排序*/FREQ 变量名;WEIGHT 变量名;ID 变量名;OUTPUT OUT= 数据集名关键字= 新变量名列.../*常用关键字有:基本统计量:N MEAN STD(标准差)CV(变异系数)SUM VAR(方差)RANG 百分位数描述:MIN P1 P5 P10 Q1 MEDIAN Q3 P90 P95 P99MAX与假设检验有关的统计量有:STDMEAN(标准误)T */pctlpts=百分位数, ...pctlpre=新变量名列;Run;PROC MEANS [ DATA= 数据集名选项统计量关键字列表;/*选项有:NOPRINT 禁止统计在OUTPUT视窗中输出MAXDEC=n 给出列表输出的最大小数位数,缺省值为2*/V AR 变量名列;BY 变量名列;CLASS 变量名列;FREQ 变量名;WEIGHT 变量名;ID 变量名列;OUTPUT OUT= 数据集名关键字= 新变量名列... ;/*关键字有:基本统计量有:N MEAN STD(标准差)CV(变异系数)SUM VAR(方差)RANG MIN MAX;与假设检验有关的统计量有:STDERR(标准误)T PRT(与t对应的p值) LCLM(可信区间下限) UCLM(可信区间上限)*/Run;PROC FREQ data+;TABLES 请求式/ 选项;/* 常用选项有ORDER=FREQ 按频数递减顺序排列ORDER=DATA 按数据集中出现的顺序排列ORDER=INTERNAL 按内部值排列(缺省) ORDER=FORMATTED 按外部格式值排列*/WEIGHT 变量名;BY 变量名列;Run;6:使用proc corr过程进行相关系数计算(相关关系散点图可以参照gplot语句)PROC CORR DATA=数据集OPTIONS;/*PEARSON 计算皮尔逊相关系数(缺省值);SPEARMAN 计算斯皮尔曼等级相关系数;NOSIMPLE 不打印输出各变量的描述性统计量;NOPROB 省略检验统计量p-值;COV(COVARIANCE) 打印协方差矩阵;NOCCORR 储存时省略相关系数;OUTP=指定皮尔逊相关系数存储的数据集;OUTS= 指定斯皮尔曼相关系数存储的数据集*/ V AR 变量名列;WITH 变量名列;/*计算with指定变量与var指定变量之间的相关系数*/PARTIAL 变量名列;RUN;7:使用proc reg过程进行回归分析PROC REG DATA= 数据集名OPTIONS;/*SIMPLE 计算并打印各变量的基本描述性统计量;SXORR 打印各变量的相关行列式;NOPRINT不打印输出;OUTEST=数据集名指定回归值输出的数据集;COVOUT=数据集名将所估计的协方差阵存入数据集;OUTSSCP=数据集名指定相关矩阵输出的数据集*/V AR 变量名列;BY 变量名列;FREQ 变量名列;MODEL 因变量=自变量/OPTIONS;/*model语句的作用可分为以下四个方面:1.关于报表打印的选项NOPRINT不打印MODEL语句所界定的分析结果;ALL 打印MODEL语句所有分析结果*//*2.界定参数估计值的选项STB 打印标准化回归系数;COVB 输出估计值的协方差阵;VIF 输出方差膨胀因子;COLLIN 进行多元共线性分析*//*3.关于预测值、预测误差的选项P计算每一个观测值y的期望值及其标准误;R 在P选项的基础上对预测误差做进一步分析;CLI 输出单个预测值95﹪的置信区间;CLM 输出预测值均值95﹪的置信区间;INFLUENCE 分析观测值对参数估计和模型预测值的影响*//*4.关于界定回归模型的选项SELECTION=none|forward|backward|stepwise|cp |rsquare|adjrsq 指定自动进行变量选择的方法;NOINT 规定回归模型中不包含截距项.*/OUTPUT OUT=数据集名关键字=新变量名列;RUN;PROC GPLOT DA TA=数据集;/*做回归图*/PLOT 纵轴变量名*横轴变量名;SYMBOL V=符号C=颜色I=none|rl|rq|rc /*不加线线性二次三次*/其他选项;RUN;。