全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
21320 2
2019-06-30
R语言线性回归函数lm()中关于缺失值的处理方式有一个参数:na.action,经查阅文献,得知其默认值与R自己的options()中的na.action一致,正常是na.omit,我理解就是忽略了数据中有缺失值的case。但是当我手动把没有NA值的cases筛出来做回归的时候,却发现跟用全部数据得到的回归方程不一样,请各位点拨一下是什么原因,回头给大家发奖励,谢谢先!
复制代码
得到的结果如下:
复制代码
然后先用complete.cases()筛出来没有数据缺失情况的cases,然后再用没有缺失的数据做线性回归,代码和结果分别如下:
复制代码
复制代码
比较两个回归的结果,很容易发现两者并不一致,那也就是说na.omit并不是把所有的含NA值的case都剔除掉了,那na.omit到底是对NA值做了什么处理呢?请论坛里的各位小伙伴多指教!




二维码

扫码加我 拉你入群

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

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

全部回复
2020-12-9 15:01:29
好像是把有空缺值的那一行都去掉了
二维码

扫码加我 拉你入群

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

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

2022-3-17 17:40:41
na.omit将纳入回归模型的变量(BodyWg、BrainWgt、NonD、 Dream)的缺失行删除,但你的sleep_complete删除了数据库里所有变量的缺失值,所以结果不一样。如果手动删除缺失BodyWg、BrainWgt、NonD、 Dream的行(不管其他变量是否有缺失值),再跑回归模型,结果是一样的
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群