楼主: mileo
9912 15

[missing data]怎样用平均值简单替换缺失值 [推广有奖]

11
mileo 发表于 2013-6-18 03:41:18
qiangyoung 发表于 2013-6-15 20:08
你想让缺失值什么时候为0,什么时候为1?
我的初衷是假如missing data是用multiple imputation来做,得到了年龄层的估算值,如果是<0.5,那么就归为0(小于30岁),如果是>0.5,那么就归为1(大于30岁)。
但是现在我的missing data比例比较小,而且做MI的话电脑跑不起来了,所以我想只用平均值代替。这样的话由于平均值不是一个二分类(0或1)的,譬如说是0.1234,那么就没有意义了;但是由于0.1234<0.5,那么就是全部的missing data都归为0(小于30岁)了,好像也不太好吧,而且还不如直接全部把missing data替换成0就更简单了吧。。
呵呵 谢谢热心帮助!!

12
mileo 发表于 2013-6-18 03:46:23
visiting 发表于 2013-6-15 23:21
proc standard data=dataset replace out=dataset_replaced;
var vars; /* 如果一次处理所有变量不需要这一 ...
很奇怪,我用这个proc standard或者proc stdize做出来proc freq看的时候,发现还是只有两层(0或1),就是说:按道理年龄层的平均值是0.1234,那么proc freq的时候应该是三层——0, 0.1234 和1,但现在sas输出结果是missing data的人数全部放进去了0那一层。
感觉是sas默认如果是二分类的变量的时候,如果用平均值代替的话也会把平均值放入到二分类的那个相近的层里面(像这个例子,0.1234接近于0,所以都放进去了0那一层)?



13
jingju11 发表于 2013-6-18 09:39:58
You may think that is to score the missing responses from a logistic model based on non-missing values. Jingju

14
zcycy 发表于 2015-4-10 23:31:32
qiangyoung 发表于 2013-6-14 21:25
data people;
INFILE 'D:\My SAS Files\t.dat' dlm=',';
input name $ age;
刚好最近有类似问题,不好意思来挖坟了。
这个程序中,缺失的变量值不是会被到当前观察对象为止的平均值所替代,而不是全部的平均值?

15
wuzubin12345 发表于 2015-4-10 23:40:55

16
tangliang0905 发表于 2015-4-11 23:43:00 来自手机
按照非缺失年龄组的比例,安排给缺失的数据。比如,非缺失组0:1是4:6,那么缺失的100个数据就是40个0,60个1了。这就是填充变量型数据方法啊

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-29 17:18