SAS base习题——答错部分

1、打印Excel文件的名为NORTH的工作表

PROC PRINT DATA = MYXLS.‘NORTH$'n;
RUN;

2、KEEP语句与KEEP选项

在处理大型数据集时,KEEP=选项的效率较高

KEEP语句:  KEEP variable(s);
                      不能用于过程步。

KEEP=选项:data-set-name(KEEP=variable(s))
                      可以用于数据步(DATA语句、SET语句)、过程步
                      variables是具体变量,不能是数组、_N_、_ERROR_等。

3、Fuzz选项:表示合适匹配允许的误差范围
                        默认值为0
                        适用于数值型的format

data course;
    input exam; 
    datalines;
    50.1
    ;
run;

proc format; 
    value score
    1-50 = 'Fail' 
    51-100 = 'Pass'; 
run; 

proc report data =course nowd; 
    column exam;
    define exam / display format=score.;
run;

所以exam是50.1,因为格式没有包括(50,51)这个区间的小数。

如果想要输出正确的格式,则需要这样修改代码:

data course;
    input exam; 
    datalines;
    50.1
    ;
run;

proc format; 
    value score(fuzz=.2) //添加选项fuzz=.2
    1-50 = 'Fail' 
    51-100 = 'Pass'; 
run; 

proc report data =course nowd; 
    column exam;
    define exam / display format=score.;
run;

这样输出的结果就变为Fail。

你可能感兴趣的:(不熟悉的知识点)