两种SAS代码实现变量的缺失值频数及占比
sas对缺失值的统计,可得出缺失值的频数及占比。以下为详细程序代码:
/*首先是创建示例数据集*/
data tmp;
infile datalines delimiter=",";
length var1 $8.;
length var2 8.;
length var3 $8.;
length var4 8.;
input var1 $ var2 var3 $ var4
@@;
datalines;
A,1,B,2.,3,C,.C,.,.,3
;
run;
如图得到下列数据集

然后统计数据集中缺失值和占比,先为字符型和数值型先分别设定一个format,然后直接对变量进行频数统计,再做一下简单处理,就可得到理想结果。
代码如下
proc format;
value num_f . = "0"
low-high = "1" ;
value $char_f " " = "0"
other = "1" ;
run;
/*频数统计*/
ods output onewayfreqs=tables;
proc freq data= tmp ;
tables _all_ / missing;
format _numeric_ num_f. _character_ $char_f.;
run;
ods output close;
数据集如下:

/*保留缺失变量、频数和占比*/
data miss;
length variable $50;
set tables;
variable = scan(Table,2,"“"); /*获取变量名*/
/*由于变量都是F_开头,因此可以用F_:来包含所有变量*/
value = max(of F_:);
if value = 0; /*缺失标志*/
keep variable frequency percent;
label variable = "缺失变量名" frequency = "缺失频数" percent = %nrstr("%缺失占比");
run;

以上为第一种方法;
下面用数组的方法进行实现。
/*找出缺失变量*/
data tmp11;
set tmp;
array arr1{*} _NUMERIC_ ;
array arr2{*} _CHARACTER_ ;
length variable $50;
do i = 1 to dim(arr1);
if missing(arr1(i)) then do;
variable =vname(arr1(i)); /*数值型缺失*/
output;
end;
end;
do j = 1to dim(arr2);
if missing(arr2(j)) then do;
variable = vname(arr2(j)); /*字符型缺失*/
output;
end;
end;
keep variable;
run;
/*统计缺失频数和占比*/
proc sql noprint;
select count(*) into : N from tmp;
create table miss as
select variable label = "缺失变量名",count(*) as frequency label = "缺失频数",
input(compress(put(calculated frequency / &N.,percent10.2),"%"),best32.) as percent label = %nrstr("%缺失占比")
from tmp11
group by variable;
quit;
数据分析师 sas
SAS数据分析师认证培训

◆培训时间: 北京 2017年9月2-3日 ,9-10日【四天周末班】
深圳 2017年8月19-20,26-27日【四天周末班】;8月19-22日【四天连续班】
◆培训地点: 北京市海淀区厂洼街3号丹龙大厦B座三层
深圳市南山区科技园北区科技北一路17号摩比大厦
◆培训费用:3600元/人;全日制在校学生2800元/人 (仅限本科和硕士)
差旅及住宿费用自理
◆在线直播: 2600元/人;全日制学生八折。
◆证书费用:400元,可以自愿申请数据分析师证书。
◆授课安排:
授课方式:SAS课程基于SAS 9.4系统,多媒体互动。
授课时间:9:00am-12:00pm,1:30pm-4:30pm
答疑时间:4:30pm-5:00pm
小班授课,满15人开课,人数限制30人以内
讲师介绍
马伯 经管之家 CDA 数据分析研究院SAS讲师,从事互联网、电子商务方向数据分析与数据挖掘的研究与 CDA 数据分析师的教学工作,研究方向为文本挖掘、电商推荐系统开发、潜在价值客户挖掘,互联网大数据挖掘等
丁亚军 南京上度市场咨询有限公司数据分析总监,经管之家论坛SAS、SPSS统计学讲师,中国学习路径图国际中心技术顾问。曾参与2012国家宏观经济预测、中国城镇居民家庭投资调查、泸州老窖目标管理与绩效考核等大型数据处理项目,具有丰富的数据处理经验
课程大纲
SAS程序基础篇
1 SAS总体概览
1.1 课程介绍
1.2 SAS系统介绍
1.3 SAS 模块介绍
1.4 SAS界面讲解
| 2 SAS 数据集
2.1 SAS数据集与逻辑库
2.2 直接创建数据:手动创建
2.3 间接获取数据:访问本地文件与数据库 | 3 SAS 语法
3.1 基本概念
3.2 语法规则
3.3 语法错误诊断与修正 |
4 SAS编程之data步——数据预分析
案例1:如何管理数据集
案例2:数据格式的排列组合
案例3:数据的纵向汇总
案例4:条件语句的设置 | 5 SAS编程之proc步——统计描述
5.1 平均数和标准差的意义
5.2 正态分布有多重要
5.3 数据标准化变换
5.4 缺失值填补 | 6 编程之proc步——统计推断
6.1 差异性分析
——假设检验原理
——t检验:判断组间差异
——方差分析:判断多组间差异
——协方差分析:存在协变量的群组差异 |
6.2 相关性分析
——散点图提供了变量间的关系模式
——变量关系的基础:pearson、spearman相关系数
——偏相关分析
——多变量相关性:典型相关 | 6.3 线性回归分析
——简单回归分析
截距意义何在:数据平移
斜率反应预测关系的大小
——多元回归分析
多元回归分析:回归概览性描述
处理异常值:残差分析
常用的对数变换
模型的可接受误差评析
哑变量变换 | 6.4 稳健的logistics回归
预分析:卡方独立性检验
构建模型与模型诊断、修正
自变量筛选与多模型评估:roc曲线
自变量的筛选:逐步回归
何谓稳健? |
6.5 poisson 回归
poisson回归的诊断
贝叶斯poisson回归
6.6 稳健回归
稳健性之模型诊断
稳健性估计方法
稳健回归分析比较
| 6.7 主成分分析
多维偏好分析
探索性因子分析
问卷的结构效度指标
因子得分的应用:潜变量
6.8 对应分析
预分析:频数、交叉表与卡方
一元对应分析:行为与选择的对应特征
多元对应分析:维度的意义 | 6.9 联合分析
联合分析流程
析因设计与效应值计算
联合分析过程
数据挖掘(SAS/EM)
统计模型与数据挖掘的区别:数据量、数据精确度、时间、关注点
构建预测模型:购买倾向分析:基于回归、决策树、神经网络模型的预测 |
培训优惠及注意事项
培训优惠及注意事项
(1)赠送SAS数据统计分析师视频课程。
(2)现场班老学员可以享受9折优惠。
(3)同一机构3人以上报名,9折优惠。
(4)同一机构6人以上报名,8折优惠。
(5)赠送1000论坛币
报名流程及咨询
1. 提交报名信息:http://www.peixun.net/view/165_join.html
2. 给予反馈,确认报名信息
3. 交费
开户行:北京农商银行四季青支行万寿寺分理处
户名:北京国富如荷网络科技有限公司
卡号:0404 1001 0300 0003 092
支付宝:guofuruhe@126.com
户名:北京国富如荷网络科技有限公司
4. 开课前一周发送培训教室路线图,培训现场领取发票

联系方式
龚老师
电话: (010)53605625
手机:17773656856
QQ:1281241407
邮箱 :1281241407@QQ.COM
曹老师
手机: 18810531180
Q QQ:2881989706

邮箱:caolibo@pinggu.org
