#缺失值

an=c(1,2,NA)
is.na(an)                         #会形成一个布尔向量

布尔向量就是一群像(FALSE,FALSE,TURE)这样的向量。

关于缺失值还有一个函数:complete.cases函数

该函数与is.na的区别在于:

1、输出数据格式不同。is.na按照数据框格式形成一个(FALSE,FALSE,TURE)列,而complete.cases形成是一个数列向量,不再是按照数据框格式;

2、输出数据内容不同。complete.cases输出的逻辑向量与is.na正好相反,is.na的TURE为是缺失值;complete.cases的TURE为完整值。

an=c(1,2,NA)
sum(complete.cases(an))
sum(!complete.cases(an))#==sum(is.na(an))
mean(!complete.cases(an))  #获得缺失比例==1/3

疑惑:为什么布尔向量,sum一下可以得到数值?   ——因为R默认将TURE、FALSE当做1、0

#计算缺失值个数

sum(is.na(an))                    #单数列,sum一下可以直接计算“Ture”的数值和
colSums(is.na(an),na.rm = T)      #多维数列,按列,na.rm为是否需要忽略缺失值,na.rm=T表示忽略,删除
rowSums(is.na(an),na.rm = T)      #多维数列,按行,na.rm为是否需要忽略缺失值,na.rm=T表示忽略,删除

#数据框中的缺失值操作

#数据框中的缺失值操作
y <- an[is.na(an)]               #选中缺失值
y<-  an[is.na(an)=="TRUE"]       #上同,选中缺失值
an[is.na(an)] <- 0               # 表示将向量x中所以NA元素用0来代替
an[(!is.na(an)) & x>0] -> z      #可以用 & 加入其他条件,进行筛选

————————————————————————————————————————————————————————————

缺失值检测解决方案:

关于缺失值的检测应该包括:缺失值数量、缺失值比例、缺失值与完整值数据筛选。

#缺失值解决方案
sum(complete.cases(saledata))         #is.na(saledata)
sum(!complete.cases(saledata))
mean(!complete.cases(saledata))       #1/201数字,缺失值比例
saledata[!complete.cases(saledata),]  #筛选出缺失值的数值

R语言︱缺失值处理的更多相关文章

  1. R语言︱缺失值处理之多重插补——mice包

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 笔者寄语:缺失值是数据清洗过程中非常重要的问题 ...

  2. R语言缺失值高级处理方法

    0 引言 对于一些数据集,不可避免的出现缺失值.对缺失值的处理非常重要,它是我们能否继续进行数据分析的关键,也是能否继续大数据分析的数据基础. 1 缺失值分类 在对缺失数据进行处理前,了解数据缺失的机 ...

  3. R语言缺失值信息处理

    mean(!is.na(mat))可以计算数据完整度(没有缺失值的) mean(!is.na(mat))>0.9,90%完整可以使用 # 缺失值的位置研究as.vector(attributes ...

  4. 可视化缺失值的办法——R语言

    在数据分析中,对缺失值的处理是很关键一步,一般用summary()函数 a<-c(,,,NA) B<-c("a","b","c" ...

  5. R入门<三>-R语言实战第4章基本数据管理摘要

    入门书籍:R语言实战 进度:1-4章 摘要: 1)实用的包 forecast:用于做时间序列预测的,有auto.arima函数 RODBC:可以用来读取excel文件.但据说R对csv格式适应更加良好 ...

  6. 如何在R语言中使用Logistic回归模型

    在日常学习或工作中经常会使用线性回归模型对某一事物进行预测,例如预测房价.身高.GDP.学生成绩等,发现这些被预测的变量都属于连续型变量.然而有些情况下,被预测变量可能是二元变量,即成功或失败.流失或 ...

  7. R语言实战(三)基本图形与基本统计分析

    本文对应<R语言实战>第6章:基本图形:第7章:基本统计分析 =============================================================== ...

  8. R语言实战(二)数据管理

    本文对应<R语言实战>第4章:基本数据管理:第5章:高级数据管理 创建新变量 #建议采用transform()函数 mydata <- transform(mydata, sumx ...

  9. 数据分析和R语言的那点事儿_1

    最近遇到一些程序员同学向我了解R语言,有些更是想转行做数据分析,故开始学习R或者Python之类的语言.在有其他编程语言的背景下,学习R的语法的确是一件十分简单的事.霸特,如果以为仅仅是这样的话那就图 ...

随机推荐

  1. spring之setter注入

    setter注入分为2种 第一:普通属性注入 <bean id="userAction" class="com.xx.action.UserAction" ...

  2. 布隆过滤器(BloomFilter)持久化

    摘要 Bloomfilter运行在一台机器的内存上,不方便持久化(机器down掉就什么都没啦),也不方便分布式程序的统一去重.我们可以将数据进行持久化,这样就克服了down机的问题,常见的持久化方法包 ...

  3. I/O模型简述

    1. 前言 最近在学习 Java NIO 方面的知识,为了加深理解.特地去看了 Unix/Linux I/O 方面的知识,并写了一些代码进行验证.在本文接下来的一章中,我将通过举例的方式向大家介绍五种 ...

  4. ABP官方文档翻译 3.6 工作单元

    工作单元 介绍 ABP中的连接和事务管理 传统的工作单元方法 控制工作单元 UnitOfWork特性 IUnitOfWorkManager 工作单元详情 禁用工作单元 无事务工作单元 一个工作单元方法 ...

  5. Objective-C Runtime 文档翻译

    前言   Objective-C语言尽可能多的将许多决定从编译连接推迟到运行时.无论何时,它都尽可能的动态处理事件.这就意味着OC语言不仅仅需要编译器,还需要一个运行时系统来执行编译完成的代码.对于O ...

  6. 700名黑客无法攻破Trillium安全防护软件 欲以网络安全险获利

    盖世汽车讯 据外媒报道,在2017 DEF CON黑客大会上,黑客们受邀入侵Car Hacking Village会场内的各类自动驾驶车辆.物联网网络安全公司--Trillium Incorporat ...

  7. ES6与canvas实现鼠标小球跟随效果

    最近闲来无聊,看了下ES6的语法,结合canvas实现了动画特效--随着鼠标的移动,会有小球跟随且自动消失的动画. 首先,html部分,目前就一个canvas标签. <canvas id=&qu ...

  8. notify丢失、虚假唤醒

    notify丢失: 假设线程A因为某种条件在条件队列中等待,同时线程B因为另外一种条件在同一个条件队列中等待,也就是说线程A/B都被同一个Object.wait()挂起,但是等待的条件不同. 现在假设 ...

  9. Spring国际化

    国际化(Internationalization)有时候被简称为i18n,因为有18个字母在国际化的英文单词的字母i和n之间.Spring对国际化的支持示例如下所示. 需要将spring.tld放到工 ...

  10. BZOJ 3173: [Tjoi2013]最长上升子序列 [splay DP]

    3173: [Tjoi2013]最长上升子序列 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1613  Solved: 839[Submit][St ...