我有一个包含多个变量的大表,这些变量将输入到统计分析中。作为一名统计学家,我更喜欢所有因素都是数字因素,因此它们可以在回归模型中以可预测的方式工作,其格式可以显示数值的标签,例如:种族,性别。
当我set
原始数据时,我重命名我要重新编码的所有字符变量,以添加后缀c
(用于字符值)。然后,我为每个语句使用input
语句,并使用相应的best1.
或best8.
或适当的格式。
问题是当缺失的变量被编码为实际缺失值时,日志会变得混乱,例如.
。我可以为每个变量添加一行if not missing(varc) then var = input(varc, best8.);
,但这似乎效率低,难以阅读。
有没有更好的方法来解决这个问题?
答案 0 :(得分:1)
创建这样的格式并使用它代替best8.
。
proc format library=work;
invalue myform
'' = .
other=best8.
;
run;
options fmtsearch=(work);
答案 1 :(得分:1)
如果您可以完全消除缺失值消息(包括可能存在问题的消息),您可以在信息中添加??
,告诉它不要向您发出警告。
var=input(varc,??8.);
答案 2 :(得分:0)
你能尝试使用
吗?PROC STDIZE ..
REPONLY MISSING=0;
RUN;