为什么我的 proc 格式会更改不相关的变量?
Why is my proc format changing unrelated variables?
这是我的 proc 格式代码:
Proc format;
value $fmtempty
" " = "unknown"
;
run;
这是我对数据集的应用:
DATA ASSIGN1.TRAININGCOPY;
SET TRAININGCOPY;
FORMAT job education $fmtempty.;
RUN;
起初它似乎有效,但 table 只是“愚蠢”。
它削减了我其余变量的名称,ex management 变成了 managem
当我运行这段代码时:
proc 频率数据= ASSIGN1.TRAINING;
table的工作;
运行;
为了工作,我的空频从4变成了42。奇怪的是,当我目视检查和过滤数据时,缺失的数据已经按预期补上了,我找不到任何缺失的数据。我在教育方面也有类似的结果。
original converts to
1 blue-collar 1 bluec
2 2 unknown
3 management 3 managem
4 student 4 stude
5 technician 5 techni
6 blue-collar 6 bluec
任何关于我做错了什么的建议,甚至是对实际发生的事情的解释,我们都将不胜感激。提前谢谢你。
更改 Proc FORMAT
value
语句以使用 (default=N)
选项。 N 定义在 FORMAT
语句中未指定宽度时为格式分配多少宽度。
示例:
data have;
input text $char20.;
datalines;
blue-collar
management
student
technician
blue-collar
;
proc format;
value $fmtempty (default=20)
" " = "unknown"
;
run;
data want;
set have;
format text $fmtempty.;
run;
输出数据集
这是我的 proc 格式代码:
Proc format;
value $fmtempty
" " = "unknown"
;
run;
这是我对数据集的应用:
DATA ASSIGN1.TRAININGCOPY;
SET TRAININGCOPY;
FORMAT job education $fmtempty.;
RUN;
起初它似乎有效,但 table 只是“愚蠢”。
它削减了我其余变量的名称,ex management 变成了 managem
当我运行这段代码时:
proc 频率数据= ASSIGN1.TRAINING; table的工作; 运行;
为了工作,我的空频从4变成了42。奇怪的是,当我目视检查和过滤数据时,缺失的数据已经按预期补上了,我找不到任何缺失的数据。我在教育方面也有类似的结果。
original converts to
1 blue-collar 1 bluec
2 2 unknown
3 management 3 managem
4 student 4 stude
5 technician 5 techni
6 blue-collar 6 bluec
任何关于我做错了什么的建议,甚至是对实际发生的事情的解释,我们都将不胜感激。提前谢谢你。
更改 Proc FORMAT
value
语句以使用 (default=N)
选项。 N 定义在 FORMAT
语句中未指定宽度时为格式分配多少宽度。
示例:
data have;
input text $char20.;
datalines;
blue-collar
management
student
technician
blue-collar
;
proc format;
value $fmtempty (default=20)
" " = "unknown"
;
run;
data want;
set have;
format text $fmtempty.;
run;
输出数据集