#####缺失值判断以及处理#####

#举例1:向量类型判断缺失值is.na和缺失值的填补which

(x

is.na(x)  #返回一个逻辑向量,TRUE为缺失值,FALSE为非缺失值

table(is.na(x))  #统计分类个数

sum(x)  #当向量存在缺失值的时候统计结果也是缺失值

sum(x,na.rm = TRUE)  #很多函数里都有na.rm=TRUE参数,此参数可以在运算时移除缺失值

(x[which(is.na(x))]

#举例2:数据框类型判断缺失值is.na、缺失值的填补which、缺失值所在行的删除na.omit

(test

is.na(test)  #test中空值的判断

which(is.na(test),arr.ind = T)  #arr.ind=T可以返回缺失值的相应行列坐标

test[which(is.na(test),arr.ind = T)]

(test_omit

#举例3:识别缺失值的基本语法汇总

str(airquality)

complete.cases(airquality)  #判断个案是否有缺失值

airquality[complete.cases(airquality),]  #列出没有缺失值的行

nrow(airquality[complete.cases(airquality),])  #计算没有缺失值的样本量

airquality[!complete.cases(airquality),]  #列出有缺失的值的行

nrow(airquality[!complete.cases(airquality),])  #计算有缺失值的样本量

is.na(airquality$Ozone)  #TRUE为缺失值,FALSE为非缺失值

table(is.na(airquality$Ozone))

complete.cases(airquality$Ozone)  #FALSE为缺失值,TRUE为非缺失值

table(complete.cases(airquality$Ozone))

#可用sum()和mean()函数来获取关于缺失数据的有用信息

sum(is.na(airquality$Ozone))  #查看缺失值的个数

sum(complete.cases(airquality$Ozone))  #查看没有缺失值的个数

mean(is.na(airquality$Ozone))  #查看缺失值的占比

mean(is.na(airquality))  #查看数据集airquality中样本有缺失值的占比

#举例4:探索缺失值模式

#列表缺失值探索

library(mice)

md.pattern(airquality)

#图形缺失值探索

library(VIM)

aggr(airquality,prop=FALSE,number=TRUE)

aggr(airquality,prop=TRUE,number=TRUE) #生成相同的图形,但用比例代替了计数

aggr(airquality,prop=FALSE,number=FALSE)  #选项numbers = FALSE(默认)删去数值型标签

#举例5:删除缺失值

airquality[complete.cases(airquality),] #方法一:删除缺失值行

na.omit(airquality) #方法二:删除缺失值的行

#举例6:缺失值回归模型插补

newnhanes2

sub

datatr

datatr

datate

datate

fit

newnhanes2[sub,4]

#举例7:缺失值随机森林插补

library(missForest)

z

air.full

zz

nhanes2.full

#举例8:线性回归模型插补

mice::md.pattern(airquality)

index1

dput(colnames(airquality))  #求出变量列名称

Ozone_train

Ozone_test

fit

summary(fit)

airquality[index1,"Ozone"]

index2

Solar.R_train

Solar.R_test

Solar.R_fit

summary(Solar.R_fit)

airquality[index2,"Solar.R"]

mice::md.pattern(airquality)

#knn和bag缺失值插补(利用caret包中的preProcess函数,method参数有多种方式可选)

question

question

str(question)

for(i in 1:ncol(question)){

question[,i]

}  #批量修改为因子类型

str(question)

#举例9:利用KNN算法进行缺失值插补(只能对数值型变量处理)

question

question

mice::md.pattern(question)  #列表缺失值探索

library(caret)

knn.model

question1

install.packages("RANN")

mice::md.pattern(question1)

table(question1$性别)  #不是之前的1和2了

table(question$性别)

#最后结果:knn不适合处理该数据,需要做哑变量处理,再套模型

#举例10:利用袋装算法进行缺失值插补(只能对数值型变量处理)

question

question

mice::md.pattern(question) #列表缺失值探索

library(caret)

bag.model

install.packages("ipred")

question2

mice::md.pattern(question2)  #列表缺失值探索

table(question2$性别)

#最后结果:bag算法不适合处理该数据

r语言查找是否存在空值_R语言-缺失值判断以及处理相关推荐

  1. r语言查找是否存在空值_R语言初级教程(12): NA、Inf、NaN、NULL 特殊值

    这几个都是R语言里面的特殊值,都是R的保留字(reserved words).它们的意义分别为:NA:表示缺失值(Missing value),是"Not Available"的缩 ...

  2. go语言 第三方包安装方法_R语言3.6.3 安装程序下载及破解方法

    下载地址 百度网盘链接: https://pan.baidu.com/s/16smT3ceIjqaupn54AdgmgQ 提取码:7hap 解压密码:关注[菜瓜程序猿]微信公众号,回复[解压密码]获取 ...

  3. php语言查找字符串是否存在,PHP语言查找字符串是否存在的方法

    这里整理了PHP语言查找字符串是否存在的方法,如果你想了解PHP语言查找字符串是否存在的方法,可以查看以下PHP语言查找字符串是否存在的方法详解. PHP语言查找字符串是否存在的方法一:采用in_ar ...

  4. r语言查找是否存在空值_关于R包安装你知道多少?

    在R语言的学习过程中离不了各种R包的安装与使用,要使用某个R包首先得学会如何安装该R包.对于R包的安装你知道的有多少?你知道如何指定安装路径吗?为何你每次重新打开R绘画都需要重新安装R包?今天小编带你 ...

  5. R语言中的esttab命令_R语言︱基本函数、统计量、常用操作函数

    先言:R语言常用界面操作 帮助:help(nnet) = ?nnet =??nnet 清除命令框中所有显示内容:Ctrl+L 清除R空间中内存变量:rm(list=ls()).gc() 获取或者设置当 ...

  6. r语言中矩阵QR分解_R语言常用的矩阵操作

    R语言是一门非常方便的数据分析语言,它内置了许多处理矩阵的方法.下面列出一些常用的矩阵操作方法示例. 矩阵的生成 > mat <- matrix(1:16, ncol = 4, nrow ...

  7. r语言绘制精美pcoa图_R语言绘制交互式热图

    热图 通过热图可以简单地聚合大量数据,并使用一种渐进的色带来优雅地表现,最终效果一般优于离散点的直接显示,可以很直观地展现空间数据的疏密程度或频率高低.但也由于很直观,热图在数据表现的准确性并不能保证 ...

  8. r语言怎么做经验分布_R语言如何做马尔科夫转换模型markov switching model

    原文链接: R语言如何做马尔科夫转换模型markov switching model​tecdat.cn 假设 有时间序列数据,如下所示.经验表明,目标变量y似乎与解释变量x有关.然而,乍一看,y的水 ...

  9. r数据框计算字符出现次数_R语言系列第二期:①R变量、脚本、作图等模块介绍...

    在上一篇文章里,给大家介绍了R语言的下载,界面操作,6个处理对象等等. 在这些内容的基础上,我们在这个部分为大家介绍一些实用知识,包括描述工作区结构.图形设备以及它们的参数等问题,还有初级编程和数据输 ...

最新文章

  1. 修改IDEA项目的JDK应用路径
  2. ueditor1.4.3配置过程(包含单独上传文件以及图片的使用)
  3. python 购物车分析_python 简易购物车程序解析
  4. Windows服务的程序方面的资料
  5. linux操作系统之全局异步IO及可重入/不可重入函数
  6. 猪八戒背媳妇用计算机弹出来,猪八戒背媳妇?杭城游泳馆爆笑一幕:浙大学霸果然机智!...
  7. C++ struct和class的区别
  8. 红橙Darren视频笔记 单例模式 volatile简析 ConcurrentModificationException
  9. VMware VMFS文件系统元数据不一致问题处理
  10. 思科:企业数据中心技术产品采购放缓
  11. pycharm windows 重置_pycharm重置设置,恢复默认设置
  12. matlab 曲线收敛,BP神经网络学习曲线收敛问题
  13. 全球公开的DEM数据产品
  14. IDEA 自动导入的配置(Auto import)
  15. 用树莓派组装了一台电脑
  16. 李永乐团队2021数学基础过关660题勘误表
  17. 经典幽默的计算机名言
  18. 压缩文件时,自动添加日期
  19. 仿薄荷健康的滑动卷尺效果
  20. 虚拟服务器怎么传文件,怎么在虚拟主机中上传东西

热门文章

  1. Sentieon软件应用之浅层测序分析
  2. 第三章 学习CC3200的ADC
  3. 《雍正皇帝》文化专有词泰译研究(选题缘由)
  4. python 实现图片添加文字水印
  5. 智变·人工智能革新客服行业
  6. 动态照片怎么制作?这三款软件推荐给你
  7. 测试工程师多年面试问题整理
  8. 三个因素剖析质量流量计读数不准,应对故障更轻松
  9. 【论文阅读笔记】faster rcnn 代码阅读细节
  10. SQLZOOL练习题答案和解析 第1关 SELECT name