#缺失值

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. css正三角倒三角

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  2. FTP 安装配置

    FTP 安装配置: 一.基础操作 yum install -y ftp yum install -y vsftpd service iptables stop chkconfig iptables o ...

  3. 关于dom4j解析xml

    一:相关jar包 dom4j-1.6.1.jar 二:用例xml文件 三:解析 注:可能有的小白不知道如果获取节点,so,you can: for (Iterator<Element> i ...

  4. Java设计模式——代理模式

    public interface People { public void work(); } public class RealPeople implements People { public v ...

  5. BZOJ 3551: [ONTAK2010]Peaks加强版 [Kruskal重构树 dfs序 主席树]

    3551: [ONTAK2010]Peaks加强版 题意:带权图,多组询问与一个点通过边权\(\le lim\)的边连通的点中点权k大值,强制在线 PoPoQQQ大爷题解传送门 说一下感受: 容易发现 ...

  6. CF781D Axel and Marston in Bitland [倍增 矩阵乘法 bitset]

    Axel and Marston in Bitland 好开心第一次补$F$题虽然是$Div.2$ 题意: 一个有向图,每条边是$0$或$1$,要求按如下规则构造一个序列然后走: 第一个是$0$,每次 ...

  7. VUE 2.0 引入高德地图,自行封装组件

    1. 高德地图官网 申请帐号, 申请相应(JavaScript API)的 Key 2. 在项目中引入, 这里和其他的引入不同的是 直接在 index.html, 不是在 main.js 引入, 博主 ...

  8. 利用GUID唯一标识符并设置它的过期时间

    项目中遇到一个小问题,就是把服务器创建的GUID发送给客户端,客户端接收后,下次访问时带上这个GUID, 服务端这边就进行验证,并做相应的处理. 问题是:项目中还需要这个GUID带过期时间,那是如何设 ...

  9. Centos-7 + Docker-1.12 中 devicemapper + direct_lvm 的 Docker 存储配置

    html,body { font-size: 12pt } body { font-family: Helvetica, "Hiragino Sans GB", "微软雅 ...

  10. RabbitMQ 简单测试

    RabbitMQ 测试 RabbitMQ 基于Erlang 实现, 客户端可以用Python | Java | Ruby | PHP | C# | Javascript | Go等语言来实现.这里做个 ...