假设我在数据集中有变量X1,X2,X3和Group。组具有不同的值,例如1-10,并且X1,X2,X3是连续变量。 X1,X2和X3在整个数据集中散布了缺失值,彼此独立。换句话说,X1可能会丢失,但不会丢失X2和X3,而另一个观察可能只缺少X3。
对于每个缺失值,我想用该观察组#中的该变量的中值替换它。
有没有好办法呢?
提前致谢
答案 0 :(得分:1)
这里的基本方法是多步骤:
x3 = coalesce(x3,x3_median);
和x1和x2类似。您可以在单个datastep或单个PROC SQL连接中执行2和3。理论上你可以在一个SQL步骤中计算中值并附加它,但这可能会更慢并且更难维护(因为中位数是一个相对困难的SQL计算,不能直接用函数完成 - MEDIAN函数是不是SQL中的聚合函数。)