c*****7 发帖数: 54 | 1 学生考试分数recode:
PROC FORMAT
VALUE SCOREFMT 0-64 = 'Fail'
65-69 = 'Low Pass'
70-79 = 'Pass'
80-89 = 'High Pass'
90-HIGH = 'Honors';
RUN;
PROC FREQ DATA = GRADES;
TITLE 'Example 3';
TABLE SCORE;
FORMAT SCORE SCOREFMT.;
RUN;
书上说If the scores were not integers, you could rewrite the PROC FORMAT
statements like this:
PROC FORMAT
VALUE SCOREFMT 0-<65 = 'Fail';
65-<70 = 'Low Pass'
|
p********a 发帖数: 5352 | 2 A1.为什么要省略?不是整数,要改PROC FORMAT语句,继续用啊。LZ刚入门吧?
A2。所有的FORMAT最后都必须加个点。 |
c*****7 发帖数: 54 | 3 我还是有两个疑问噢,
你说不可以省略如下这一段:
PROC FREQ DATA = GRADES;
TITLE 'Example 3';
TABLE SCORE;
FORMAT SCORE SCOREFMT.;
RUN;
第一个问题:我没看出来改前和改后的这两段有什么本质区别啊,没看出来第一个是对于
整数啊,
改前:
PROC FORMAT
VALUE SCOREFMT 0-64 = 'Fail'
65-69 = 'Low Pass'
70-79 = 'Pass'
80-89 = 'High Pass'
90-HIGH = 'Honors';
RUN;
改后:
PROC FORMAT
VALUE SCOREFMT 0-<65 = 'Fail';
65-<70 = 'Low Pass'
70-<80 = 'Pass'
80-<90 = 'High Pass'
90-HIGH = 'Honors';
RUN;
第二个问题:
FORMAT SCORE SCOREFMT.
你说FORMAT后面都要加点,比如FORMAT DOB MMDDYY8.;这里8后面之所以加点是因为规定
字符的长度吧?可
【在 p********a 的大作中提到】 : A1.为什么要省略?不是整数,要改PROC FORMAT语句,继续用啊。LZ刚入门吧? : A2。所有的FORMAT最后都必须加个点。
|
p********a 发帖数: 5352 | 4 A1. 还是有区别。比方说64.5就不在改前的FORMAT范围内,但在改后的范围内
A2. 所有的FORMAT和INFORMAT都用一个点结束。3. 和 $1. 并不是长度,而是数据读入
的INFORMAT。 |