data abc;
a = 1; output;
a = 99; output;
run;
proc format;
invalue abc
99 = .
other = _same_;
value abc
99 = .
other = _same_;
run;
proc means data = abc;
format a abc.;
informat a abc.;
var a;
run;
我希望上面的代码给出变量a的平均值1。但它没有,在proc中意味着它似乎不想使用我定义的格式。有没有我可以选择让它运作的选项?
答案 0 :(得分:4)
格式和信息不起作用。信息在传入数据保存在sas数据集之前更改传入数据。格式改变了输出数据的呈现方式,但基础数据保持不变。另外,格式不适用于计算。
你可能会尝试这样的事情吗?
data abc;
a = 1; output;
a = 99; output;
run;
data def;
set abc;
if a = 99 then a = .N;
run;
proc means data = def;
var a;
run;
答案 1 :(得分:1)
据我所知,格式可以显示值。格式不会考虑任何分析。
SD。