楼主: 马甲1号
3650 1

[问答] 请问R里面有没有类似于SAS的IFD\IFC功能的函数?内建缺失值处理? [推广有奖]

  • 3关注
  • 3粉丝

已卖:21份资源

副教授

21%

还不是VIP/贵宾

-

威望
0
论坛币
1948 个
通用积分
8.7693
学术水平
159 点
热心指数
165 点
信用等级
144 点
经验
6203 点
帖子
754
精华
0
在线时间
666 小时
注册时间
2010-10-24
最后登录
2024-7-17

楼主
马甲1号 发表于 2012-6-9 20:36:50 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
R里面有ifelse(),但问题是ifelse不像sas ifd\ifc函数内建了缺失值分支处理的功能。难道只能嵌套ifelse?

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:缺失值处理 sas的 有没有 缺失值 IFC

归欤!归欤!吾党之小子狂简,斐然成章,不知所以裁之。

沙发
DM小菜鸟 发表于 2014-12-16 14:14:45

一、检测缺失值情况(示例数据集:nhanes2,详细说明请看附录)

1    summary(数据集)


可以看到bmi、hyp、chl分别有9、8、10 个缺失值


2   统计数据集中缺失值数量

可以看到nhanes2数据集中有27个缺失值

3   统计数据集中完整记录条数

可以看到nhanes2数据集中有13条完整记录

4   观察数据集中缺失值是否随机(可以利用mice包中md.pattern函数来完成)

如:第一行第一列的13代表有13个样本是完整的


二、缺失值处理

1 删除法

1.1  直接删除含有NA值的记录(na.omit命令)

可以看到凡是含有缺失值的记录已经被删除,只保留13条完整记录

1.2 若某些变量缺失严重且对分析影响不大,可以删除整个变量

chl有10个缺失值,如果chl对分析影响不大,那就可以考虑删除。

2 插补法

2.1 最简插补法(从总体中随机抽取某个样本值代表缺失值)


PS:此法很容易出问题,尤其是碰到各个变量相关时,一般不建议使用。


2.2  均值法

PS:没用到相关变量信息,会存在一定的偏差,慎用


2.3  回归插补(将需要插补变量作为因变量,其他相关变量作为自变量,建立回归模型预测出因变量对缺失变量进行插补)



PS:用相关变量来进行预测,是比较理想处理缺失值的方法,但怎样构建回归模型需要具体情况具体分析。


附录:

nhanes2数据集:



age: 年龄段

bmi:身体质量指数,单位为kg/㎡

hyp:是否患高血夺

chl:血清胆固醇问题,单位为mg/dL


已有 1 人评分学术水平 热心指数 收起 理由
马甲1号 + 4 + 4 2012年的坟都能挖出来...

总评分: 学术水平 + 4  热心指数 + 4   查看全部评分

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-25 04:35