R语言寻找数据集缺失值位置
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_row
和result[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语言寻找数据集缺失值位置相关推荐
- r语言处理数据集编码_在强调编码语言或工具之前,请学习这3个基本数据概念
r语言处理数据集编码 重点 (Top highlight) I got an Instagram DM the other day that really got me thinking. This ...
- R语言删除包含缺失值的行并将字符数据列(character)转化为因子列(factor)实战
R语言删除包含缺失值的行并将字符数据列(character)转化为因子列(factor)实战 目录
- R语言——数据清洗之缺失值处理
数据清洗之缺失值--R语言 缺失值处理步骤: 1)识别缺失数据: 2)检查导致数据缺失的原因: 3)删除包含缺失值的实例或用合理的数值代替(插补)缺失值 缺失值数据的分类: 1)完全随机缺失:若某变量 ...
- r语言electricity数据集_R语言学习10-查看数据
当我们处理一个新的数据集的时候,第一件事就是要对数据做一个了解.数据的格式是什么?数据的维度是多少?变量名是什么? 变量如何存储? 是否缺少数据? 数据中是否有任何缺陷? 本次课将学习如何使用R的内置 ...
- r语言electricity数据集_R语言学习-数据集
数据集通常是由数据构成的一个矩形数组,行表示观测,列表示变量,对数据集的操作是数据分析的第一步 R语言的数据结构通常有以下几种:标量,向量,矩阵,数组,数据框和列表 向量 向量是用于存储数字型.字符型 ...
- r语言electricity数据集_R语言实战学习
<R语言实战>中文电子版 提取码:lx35 已经学习打卡R语言22天了,可以说是初窥真容--基本了解R的数据和函数:作为程序语言,就是要多练习,多领悟,在实战中发现问题并解决问题. 所以, ...
- 在R语言中进行缺失值填充:估算缺失值
介绍 缺失值被认为是预测建模的首要障碍.因此,掌握克服这些问题的方法很重要.最近我们被客户要求撰写关于缺失值处理的研究报告,包括一些图形和统计输出. 估算缺失值的方法的选择在很大程度上影响了模型的预测 ...
- R语言 数据清洗(缺失值处理、异常值处理)
关注微信公共号:小程在线 关注CSDN博客:程志伟的博客 详细内容为 <R语言游戏数据分析与挖掘>第五章学习笔记之数据清洗 5.2.1 缺失值处理 5.2.2 异常值处理: setwd( ...
- R语言常用数据集 | msleep:哺乳动物的睡眠时间
[简说基因]R 语言数据集对于数据科学和统计学具有重要的作用,可以帮助提高数据分析和可视化能力.验证和改进统计模型和算法.促进社区合作和知识共享. msleep 数据集属于 ggplot2 包,包含了 ...
- R语言中的缺失值处理
作者 Selva Prabhakaran 译者 钱亦欣 在处理一些真实数据时,样本中往往会包含缺失值(Missing values).我们需要对缺失值进行适宜的处理,才能建立更为有效的模型,使得后续预 ...
最新文章
- Spark:group by和聚合函数使用
- 20190405模拟测试
- reactjs组件的props属性及其特点
- BZOJ3172: [Tjoi2013]单词
- cdn需要备案吗_车子贴改色膜需要到车管所备案吗?
- js逆向网易云加密记录
- node path html模块,深入理解node.js之path模块
- 【优化预测】基于matlab萤火虫算法优化BP神经网络预测【含Matlab源码 1313期】
- 树莓派B+安装简单版魔镜MagicMirror
- WebRoot与WebContent区别
- parse error, unexpected TOKBEGIN, expecting AFFECT or SEMICOLON
- PDF时间戳数字签名
- 清华大学计算机系人才流失,大量中国人才流失,科研被国外扼住喉咙,清华等8所高校忍不住了...
- 软件工程基础知识复习宝典
- 为激情为生---“激情团队宣言”
- Redis实现好友关注 | 黑马点评
- VMware 虚拟SCSI、SATA 和 NVMe 存储控制器条件、限制和兼容性
- 分区失败,在计算机中不能打开磁盘,但是在磁盘管理软件中能打开的解决方法
- 验证“哥德巴赫猜想”思路分析
- php.ini修改需要重启什么
热门文章
- 【复杂网络】最清晰最准确理解什么是“结构洞(Structural Hole)”?
- 北京上海开车遇加塞,像个人行不行?!
- 移动硬盘显示无法访问拒绝访问,里面的数据如何找回
- 基于STM32的电磁寻迹智能车硬件部分总结
- DNS NoteBook
- 开源设计和原型制作平台Penpot
- 图片模糊怎么变清晰?用嗨格式图片无损放大器
- 全宇宙最深入的CSS3 姬成 渡一学习记录
- graphpad如何换柱状图与折线图能否混合一起_excel柱状图加折线图组合怎么做,原来是这样的...
- html透明背景字体不透明,css3背景透明,文字不透明