因为学校期末要考核SAS上机,因此记录下SAS的学习与使用过程。
该博客默认读者了解最基本的SAS程序语法。
每次写大作业的过程都会记录其中。
一、导入CSV图表
首先要确保CSV的图表内容。先展示对下列简单图表的导入。

则通过在data块中使用infile方法构建数据集。
data failure_finding_work; /* data为数据块,用于定义数据集。后面的是名称。 */
infile 'C:\SAS\data1.csv' /* infile用于导入路径。 */
missover DLM=',' /* missover DLM用于确定划分数据的间隔符。CSV为逗号。 */
firstobs=2; /* firstobs=2表示从第2行导入数据。以此类推。*/
input year$ rate; /* input表示输入变量。year后面加上$表示该变量为字符类型。 */
run; /* run用于结尾。表示数据块运行结束。 */
可以通过print过程块验证输出是否正确。
proc print data=failure_finding_work; /*定义print过程块,通过proc定义。*/
title "The rate of failure finding work"; /*定义表格名称。*/
run; /*表示过程块结束。*/
也可以使用import过程实现CSV的导入。注意:import过程将默认CSV文件的第一行为导入变量名,因此最好使用英文命名第一行。不过这也可以通过语句修改。
proc import data='C\SAS\data1.csv' /*import在初始时定义路径。*/
out=failure_finding_work /*‘out=’定义输出数据集名称。*/
dbms=csv REPLACE; /*‘dbms=’表示文件的拓展名。*/
guessingrows=10; /*‘guessingrows=n’表示变量类型将根据前n行的变量来决定。*/
RUN;
则通过infile数据块定义,print过程块导出的图表如下所示:

有的时候会发现导入的CSV文件是乱码,有可能是随意更改拓展名造成的CSV文件损坏。这个时候建议修改CSV表格本身。
二、基本数据统计展示
通过means过程块,输出对均值、中位数、上下四分位数、四分位数极差、方差、极差、标准差、变异系数、偏度、峰度的统计数据。
下面为基本的代码内容。
proc means data=failure_finding_work median Q3 Q1 qrange;
/*过程块定义了使用的数据块名称,也同时定义了要输出的统计数据。*/
var rate; /*该行表明了针对哪些变量进行统计分析。*/
title "问题二求解"; /*对于输出的表格进行命名。*/
run;
其中,在第一行“data=failure_finding_work”后面紧跟着“median Q3 Q1 qrange”,这表示该表格输出“中位数、上四分位数、下四分位数、四分位数极差”。可得表格输出什么数据是由data选择之后后面的部分决定的。该部分代码直接输出表格,且如下所示。

则上述统计数据的英文名称如下所示。
/*均值-mean 中位数-median 四分位数极差-qrange 方差-var
极差-range 变异系数-cv 偏度-skewness 峰度-kurtosis
标准差-std P25\Q1-下四分位数 P75\Q3-上四分位数*/
则对于下列代码段,输出的结果分别如下所示。
proc means data=failure_finding_work mean var std cv skewness kurtosis;
/*均值-mean 中位数-median 四分位数极差-qrange 方差-var
极差-range 变异系数-cv 偏度-skewness 峰度-kurtosis
标准差-std P25\Q1-下四分位数 P75\Q3-上四分位数*/
var rate;
title "问题一求解";
run;
proc means data=failure_finding_work median Q3 Q1 qrange;
var rate;
title "问题二求解";
run;

上面为第一次的部分内容。