R语言寻找data.frame缺失值位置

  • 前言
  • 代码及解释
  • 后续的一些观察与处理

前言

R语言中并没有现成函数给出缺失值所在的位置,函数 is.na() 返回一个与原数据同型的逻辑“矩阵”(不一定是矩阵类型),现在我们自行编写一个函数用来寻找缺失值的具体位置,并在此基础上我们可以进一步画出缺失值的散点图,观察其分布等一系列操作。

代码及解释

na_position <- function(x){# x <- as.matrix(x)temp <- which(is.na(x))if(setequal(temp, integer(0))){return(temp)}temp_row <- dim(x)[1]result <- data.frame(matrix(0, length(temp), 2))colnames(result) <- c("Row", "Column")for(i in 1:length(temp)){result[i, 1] <- temp[i] %% temp_rowresult[i, 2] <- temp[i] %/% temp_row + 1}return(result)
}
  • # x <- as.matrix(x) 这句话视情况看要不要注释掉,因为在接下来的操作中有些数据类型并不能顺利通过,所以需要先进行数据转换,这里转换成 matrix 类型是因为 matrix 的开销相对较小。
  • 还有一种情况算是前面的子情况,就是一个数据有双类型甚至是更多的类型,而在后面的代码运行中,使用了不好的类型。
  • 假使没有缺失值,将返回 integer(0),这是个非常特殊的符号,代表啥也没有,空集,不能简单的与0做比较,integer(0) == 0结果出来是FALSE,而不会是TRUE,因此需要函数setequal()进行判断
  • 关于result[i, 1] <- temp[i] %% temp_rowresult[i, 2] <- temp[i] %/% temp_row + 1,熟悉编程的语言可能已经想到了,实际上这与 矩阵、数据框等按列存放 有关,举个例子,
> A=matrix(1:12, 3, 4)
> A[2,3] <- NA
> A[,1] [,2] [,3] [,4]
[1,]    1    4    7   10
[2,]    2    5   NA   11
[3,]    3    6    9   12
> which(is.na(A))
[1] 8

这里为啥是8不是7呢?因为它是按列数的

  • 最后,结果以 data.frame 形式返回

后续的一些观察与处理

result <- na_position(data)
# 获取缺失值所在的所有行
na_row <- unique(result[ ,1])
# 获取缺失值所在的所有列
na_col <- unique(result[ ,2])
# 直观观察缺失值的分布
plot(result)
# 缺失值是否会服从正态分布?
Shaporo.test (···)
# 缺失值是否服从均匀分布
chisq.test(···)

R语言寻找数据集缺失值位置相关推荐

  1. r语言处理数据集编码_在强调编码语言或工具之前,请学习这3个基本数据概念

    r语言处理数据集编码 重点 (Top highlight) I got an Instagram DM the other day that really got me thinking. This ...

  2. R语言删除包含缺失值的行并将字符数据列(character)转化为因子列(factor)实战

    R语言删除包含缺失值的行并将字符数据列(character)转化为因子列(factor)实战 目录

  3. R语言——数据清洗之缺失值处理

    数据清洗之缺失值--R语言 缺失值处理步骤: 1)识别缺失数据: 2)检查导致数据缺失的原因: 3)删除包含缺失值的实例或用合理的数值代替(插补)缺失值 缺失值数据的分类: 1)完全随机缺失:若某变量 ...

  4. r语言electricity数据集_R语言学习10-查看数据

    当我们处理一个新的数据集的时候,第一件事就是要对数据做一个了解.数据的格式是什么?数据的维度是多少?变量名是什么? 变量如何存储? 是否缺少数据? 数据中是否有任何缺陷? 本次课将学习如何使用R的内置 ...

  5. r语言electricity数据集_R语言学习-数据集

    数据集通常是由数据构成的一个矩形数组,行表示观测,列表示变量,对数据集的操作是数据分析的第一步 R语言的数据结构通常有以下几种:标量,向量,矩阵,数组,数据框和列表 向量 向量是用于存储数字型.字符型 ...

  6. r语言electricity数据集_R语言实战学习

    <R语言实战>中文电子版 提取码:lx35 已经学习打卡R语言22天了,可以说是初窥真容--基本了解R的数据和函数:作为程序语言,就是要多练习,多领悟,在实战中发现问题并解决问题. 所以, ...

  7. 在R语言中进行缺失值填充:估算缺失值

    介绍 缺失值被认为是预测建模的首要障碍.因此,掌握克服这些问题的方法很重要.最近我们被客户要求撰写关于缺失值处理的研究报告,包括一些图形和统计输出. 估算缺失值的方法的选择在很大程度上影响了模型的预测 ...

  8. R语言 数据清洗(缺失值处理、异常值处理)

    关注微信公共号:小程在线 关注CSDN博客:程志伟的博客 详细内容为 <R语言游戏数据分析与挖掘>第五章学习笔记之数据清洗 5.2.1 缺失值处理  5.2.2 异常值处理: setwd( ...

  9. R语言常用数据集 | msleep:哺乳动物的睡眠时间

    [简说基因]R 语言数据集对于数据科学和统计学具有重要的作用,可以帮助提高数据分析和可视化能力.验证和改进统计模型和算法.促进社区合作和知识共享. msleep 数据集属于 ggplot2 包,包含了 ...

  10. R语言中的缺失值处理

    作者 Selva Prabhakaran 译者 钱亦欣 在处理一些真实数据时,样本中往往会包含缺失值(Missing values).我们需要对缺失值进行适宜的处理,才能建立更为有效的模型,使得后续预 ...

最新文章

  1. Spark:group by和聚合函数使用
  2. 20190405模拟测试
  3. reactjs组件的props属性及其特点
  4. BZOJ3172: [Tjoi2013]单词
  5. cdn需要备案吗_车子贴改色膜需要到车管所备案吗?
  6. js逆向网易云加密记录
  7. node path html模块,深入理解node.js之path模块
  8. 【优化预测】基于matlab萤火虫算法优化BP神经网络预测【含Matlab源码 1313期】
  9. 树莓派B+安装简单版魔镜MagicMirror
  10. WebRoot与WebContent区别
  11. parse error, unexpected TOKBEGIN, expecting AFFECT or SEMICOLON
  12. PDF时间戳数字签名
  13. 清华大学计算机系人才流失,大量中国人才流失,科研被国外扼住喉咙,清华等8所高校忍不住了...
  14. 软件工程基础知识复习宝典
  15. 为激情为生---“激情团队宣言”
  16. Redis实现好友关注 | 黑马点评
  17. VMware 虚拟SCSI、SATA 和 NVMe 存储控制器条件、限制和兼容性
  18. 分区失败,在计算机中不能打开磁盘,但是在磁盘管理软件中能打开的解决方法
  19. 验证“哥德巴赫猜想”思路分析
  20. php.ini修改需要重启什么

热门文章

  1. 【复杂网络】最清晰最准确理解什么是“结构洞(Structural Hole)”?
  2. 北京上海开车遇加塞,像个人行不行?!
  3. 移动硬盘显示无法访问拒绝访问,里面的数据如何找回
  4. 基于STM32的电磁寻迹智能车硬件部分总结
  5. DNS NoteBook
  6. 开源设计和原型制作平台Penpot
  7. 图片模糊怎么变清晰?用嗨格式图片无损放大器
  8. 全宇宙最深入的CSS3 姬成 渡一学习记录
  9. graphpad如何换柱状图与折线图能否混合一起_excel柱状图加折线图组合怎么做,原来是这样的...
  10. html透明背景字体不透明,css3背景透明,文字不透明