我有以下格式:
value agecf 0 = "35-40" 1 = "41-45" 2 = "46-50" 3 = "51-55" 4 = "56-60";
然后我键入以下内容: format age agecf.;
我仍然得到所有观察结果(例如35,36,37,.....),而不是将观察结果分为5个等级。为什么?
答案 0 :(得分:3)
您刚刚颠倒了格式的左侧和右侧。格式化的值在右侧,原始值在左侧。
以下是使用您的格式的示例,可能是您尝试创建的格式。
proc format;
value agecf 0 = "35-40" 1 = "41-45" 2 = "46-50" 3 = "51-55" 4 = "56-60";
value newage 35-40="0" 41-45="1" 46-50="2" 51-55="3" 56-60="4";
run;
data test;
input value1;
value2=value1;
format value1 agecf. value2 newage.;
datalines;
35
45
50
37
46
55
60
;
proc print data=test;run;