SAS学习过程(一)导入表格与基本数据统计

发布于:2022-11-28 ⋅ 阅读:(488) ⋅ 点赞:(0)

 因为学校期末要考核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;
为上述代码段所导出的图片。

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


网站公告

今日签到

点亮在社区的每一天
去签到