过程步proc stdize对缺失值进行填补
来源:互联网 发布:e=mc2知乎 编辑:程序博客网 时间:2024/05/22 00:49
SAS中没有专门的处理缺失值的过程步,但是在标准化变量的过程步中可以实现缺失值的填补。其基本过程如下:
PROC STDIZE DATA=dataset REPONLY METHOD= OUT=outdata
VAR variables ;
RUN;
其中proc stdize 是调用标准化过程步,data=表示需要进行缺失值填补的数据库,reponly的意思是只取代缺失值(replace missing data only),这个在均数填补法中必须要加上,不然就得不到想要的结果,method=就是选择填补方法,一般在针对计量资料时,我们一般选用均数填补法和中位数填补法(数据符合正态分布时METHOD=mean,偏态分布时选用METHOD=median),在填补计数资料没有什么好的办法,一般也使用中位数填补法,目的是尽量不要出现带小数点的填补项,但是其实使用中位数填补法有可能会产生带小数点的值,那就是当样本量(这里专门指排除缺失值后的样本量)是偶数的时候,打个比方:有一个100例的样本量,缺失2个,那么在这剩下的98个样本量中,中位数=[an/2+
总结一下:在使用sas(目前我用的是SAS9.2版本)进行均数填补法时,先看数据类型(当然这里只针对数值型数据,字符型在这里不做讨论),如果是计量资料,使用均数填补法,过程如下:
PROC STDIZE DATA=dataset REPONLY METHOD=mean OUT=outdata
RUN;
把dataset改成你要填补的数据库,把outdata改成经过均数填补法填补以后你要保存的数据库名字(如果没有这个语句那么SAS将自动保存,形如data1,data2...),把variables改成你要进行填补的变量。
要是数据类型明显的偏态,则使用中位数填补法,只需把mean改成median就行了。
当数据类型是计数资料时,分两种情况:
1.当数据排除缺失之后的观测值为奇数时,使用中位数填补法,方法同上,
2.如果当数据排除缺失之后的观测值为偶数时,可以使用proc means求一下中位数,如果是整数则可以使用中位数填补法,方法同上,如果不是则使用众数填补法
注意以上方法只适合缺失观测不是很多的情况,如果缺失过多,应该对缺失观测单独进行分析,而不能盲目的进行填补,导致结果偏离很大!
- 过程步proc stdize对缺失值进行填补
- 在R语言中利用mice包进行缺失值的线性回归填补
- 对CHAR型字段进行填补处理
- missForest一种非参数的缺失值填补方法
- 数据挖掘之缺失值填补常见手段
- 关于sklearn填补缺失值一点小信息
- 数据挖掘填补缺失数据
- SAS:proc sql中对空值(缺失值)的处理
- SAS 中 PROC SQL过程步详解
- pl/sql 不能对存储过程进行单步调试的问题解决方法
- pl/sql 不能对存储过程进行单步调试的问题解决方法
- 不能对存储过程进行单步调试的问题解决方法
- 对/proc文件系统进行读写操作
- 存储过程无法进行单步调试
- 存储过程无法进行单步调试
- 使用 Modeler 进行缺失值分析
- 用R语言的MICE包对缺失数据进行多重插补(一)-- 缺失数据分析
- PL/SQL 存储过程调试不能进行单步问题
- C#异常 throw和throw e的区别
- JM8.6解码端是如何对H.264码流进行读取的?(GetAnnexbNALU 函数)
- 生成JSON数据
- 百度地图经纬度转换+反地址解析+显示可视区域内标注点+地图自动刷新+标注的聚合
- 标准标签库
- 过程步proc stdize对缺失值进行填补
- 动态规划 01背包问题
- onkeypress、onkeydown、onkeyup
- 1000个苹果,分装的问题
- 策略模式(Strategy) 3
- Java compiler level does not match the version of the installed Java project facet
- Matrix 矩阵,单位矩阵,Transposition,矩阵与矩阵相乘
- css menu sample
- 兼容ie,火狐的设为首页,加入收藏js代码