R语言-处理缺失值的方法
缺失值NA
在R中,NA表示缺失值,NA是不可用,not available的简称,用来存储缺失信息
缺失值NA表示没有,并不一定就是0,NA是不知道是多少,也可以是0,也可以是任何值,缺失值和0 是完全不同的。
1. 处理mean,sum等常规统计函数中的缺失值出现的问题:添加参数na.rm=T
> x <- c(NA,1:20,NA,NA,34:35)
> x[1] NA 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 NA NA 34 35> sum(x)
[1] NA> sum(x,na.rm = TRUE)
[1] 279
2. 判断元素中是否含有缺失值:is.na()函数
> is.na(x)[1] TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE
[23] TRUE FALSE FALSE
3. 计算每一列/每一行的缺失值数,用sleep数据集
sleep数据集引用之前需要先下载程序包VIM(需要下载很久)
> install.packages("VIM")
> library(VIM)
载入需要的程辑包:colorspace
载入需要的程辑包:grid
VIM is ready to use.Suggestions and bug-reports can be submitted at: https://github.com/statistikat/VIM/issues载入程辑包:‘VIM’The following object is masked from ‘package:datasets’:sleep> sleepBodyWgt BrainWgt NonD Dream Sleep Span Gest Pred Exp Danger
1 6654.000 5712.00 NA NA 3.3 38.6 645.0 3 5 3
2 1.000 6.60 6.3 2.0 8.3 4.5 42.0 3 1 3
3 3.385 44.50 NA NA 12.5 14.0 60.0 1 1 1
4 0.920 5.70 NA NA 16.5 NA 25.0 5 2 3
5 2547.000 4603.00 2.1 1.8 3.9 69.0 624.0 3 5 4
6 10.550 179.50 9.1 0.7 9.8 27.0 180.0 4 4 4
7 0.023 0.30 15.8 3.9 19.7 19.0 35.0 1 1 1
8 160.000 169.00 5.2 1.0 6.2 30.4 392.0 4 5 4
9 3.300 25.60 10.9 3.6 14.5 28.0 63.0 1 2 1
10 52.160 440.00 8.3 1.4 9.7 50.0 230.0 1 1 1
11 0.425 6.40 11.0 1.5 12.5 7.0 112.0 5 4 4
12 465.000 423.00 3.2 0.7 3.9 30.0 281.0 5 5 5
13 0.550 2.40 7.6 2.7 10.3 NA NA 2 1 2
14 187.100 419.00 NA NA 3.1 40.0 365.0 5 5 5
15 0.075 1.20 6.3 2.1 8.4 3.5 42.0 1 1 1
16 3.000 25.00 8.6 0.0 8.6 50.0 28.0 2 2 2
17 0.785 3.50 6.6 4.1 10.7 6.0 42.0 2 2 2
18 0.200 5.00 9.5 1.2 10.7 10.4 120.0 2 2 2
19 1.410 17.50 4.8 1.3 6.1 34.0 NA 1 2 1
20 60.000 81.00 12.0 6.1 18.1 7.0 NA 1 1 1
21 529.000 680.00 NA 0.3 NA 28.0 400.0 5 5 5
22 27.660 115.00 3.3 0.5 3.8 20.0 148.0 5 5 5
23 0.120 1.00 11.0 3.4 14.4 3.9 16.0 3 1 2
24 207.000 406.00 NA NA 12.0 39.3 252.0 1 4 1
25 85.000 325.00 4.7 1.5 6.2 41.0 310.0 1 3 1
26 36.330 119.50 NA NA 13.0 16.2 63.0 1 1 1
27 0.101 4.00 10.4 3.4 13.8 9.0 28.0 5 1 3
28 1.040 5.50 7.4 0.8 8.2 7.6 68.0 5 3 4
29 521.000 655.00 2.1 0.8 2.9 46.0 336.0 5 5 5
30 100.000 157.00 NA NA 10.8 22.4 100.0 1 1 1
31 35.000 56.00 NA NA NA 16.3 33.0 3 5 4
32 0.005 0.14 7.7 1.4 9.1 2.6 21.5 5 2 4
33 0.010 0.25 17.9 2.0 19.9 24.0 50.0 1 1 1
34 62.000 1320.00 6.1 1.9 8.0 100.0 267.0 1 1 1
35 0.122 3.00 8.2 2.4 10.6 NA 30.0 2 1 1
36 1.350 8.10 8.4 2.8 11.2 NA 45.0 3 1 3
37 0.023 0.40 11.9 1.3 13.2 3.2 19.0 4 1 3
38 0.048 0.33 10.8 2.0 12.8 2.0 30.0 4 1 3
39 1.700 6.30 13.8 5.6 19.4 5.0 12.0 2 1 1
40 3.500 10.80 14.3 3.1 17.4 6.5 120.0 2 1 1
41 250.000 490.00 NA 1.0 NA 23.6 440.0 5 5 5
42 0.480 15.50 15.2 1.8 17.0 12.0 140.0 2 2 2
43 10.000 115.00 10.0 0.9 10.9 20.2 170.0 4 4 4
44 1.620 11.40 11.9 1.8 13.7 13.0 17.0 2 1 2
45 192.000 180.00 6.5 1.9 8.4 27.0 115.0 4 4 4
46 2.500 12.10 7.5 0.9 8.4 18.0 31.0 5 5 5
47 4.288 39.20 NA NA 12.5 13.7 63.0 2 2 2
48 0.280 1.90 10.6 2.6 13.2 4.7 21.0 3 1 3
49 4.235 50.40 7.4 2.4 9.8 9.8 52.0 1 1 1
50 6.800 179.00 8.4 1.2 9.6 29.0 164.0 2 3 2
51 0.750 12.30 5.7 0.9 6.6 7.0 225.0 2 2 2
52 3.600 21.00 4.9 0.5 5.4 6.0 225.0 3 2 3
53 14.830 98.20 NA NA 2.6 17.0 150.0 5 5 5
54 55.500 175.00 3.2 0.6 3.8 20.0 151.0 5 5 5
55 1.400 12.50 NA NA 11.0 12.7 90.0 2 2 2
56 0.060 1.00 8.1 2.2 10.3 3.5 NA 3 1 2
57 0.900 2.60 11.0 2.3 13.3 4.5 60.0 2 1 2
58 2.000 12.30 4.9 0.5 5.4 7.5 200.0 3 1 3
59 0.104 2.50 13.2 2.6 15.8 2.3 46.0 3 2 2
60 4.190 58.00 9.7 0.6 10.3 24.0 210.0 4 3 4
61 3.500 3.90 12.8 6.6 19.4 3.0 14.0 2 1 1
62 4.050 17.00 NA NA NA 13.0 38.0 3 1 1
计算每一列/每一行缺失值数
> colSums(sleep)BodyWgt BrainWgt NonD Dream Sleep Span Gest Pred Exp Danger
12324.98 17554.32 NA NA NA NA NA 178.00 150.00 162.0> rowSums(sleep)[1] NA 77.700 NA NA 7862.800 428.650 96.723 776.800 152.900 794.560 163.825 1221.800 NA NA 66.575
[16] 129.200 79.685 163.000 NA NA NA 333.260 55.820 NA 778.400 NA 77.701 110.540 1578.800 NA
[31] NA 53.445 117.060 1768.000 NA NA 57.023 65.978 67.800 179.600 NA 207.980 349.000 75.420 542.800
[46] 95.400 NA 61.280 139.035 405.000 264.250 274.400 NA 424.100 NA NA 99.600 239.600 89.504 327.790
[61] 67.200 NA
4. 去掉数据集中的缺失值:na.omit()函数
na.omit(object,cols,invert)
object::数据集
cols:一个由列名(或数字)组成的向量,用于检查缺失值。默认值是所有列。
invert:如果FALSE将省略所有缺少值的行(默认)。TRUE只返回那些缺少值的行。
> x <- c(NA,1:20,NA,NA,34:35)
> x[1] NA 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 NA NA 34 35> na.omit(x)[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 34 35
attr(,"na.action")
[1] 1 22 23
attr(,"class")
[1] "omit"#去掉缺失值中的行
> length(rownames(sleep))
[1] 62
> length(rownames(na.omit(sleep)))
[1] 42
5. 处理缺失值的包
6. 不同缺失值之间的区别
NA是存在的值,但是不知道是多少
NaN是不存在的
Inf存在,是无无穷大或者无无穷小,但是表示不可能的值
> 1/0
[1] Inf> -1/0
[1] -Inf> 0/0
[1] NaN> is.nan(0/0)
[1] TRUE> is.infinite(1/0)
[1] TRUE
R语言-处理缺失值的方法相关推荐
- R语言进行缺失值填充(Filling in missing values):使用R原生方法、data.table、dplyr等方案
R语言进行缺失值填充(Filling in missing values):使用R原生方法.data.table.dplyr等方案 目录 R语言进行缺失值填充&#x
- R语言-数据清洗-缺失值处理
缺失值处理包括两个步骤,即缺失数据的识别和缺失值处理.在R语言总缺失值以NA表示,可以使用函数is.na()判断缺失值是否存在,函数complete.cases()可识别样本数据是否完整从而判断缺失情 ...
- R语言编程的高效方法
R语言编程的高效方法 R语言编程的高效方法 高效编程之细节知识点 并行计算 1.查看核数 2.可以使用并行计算的场景 3.Parellel 包 R语言编程的高效方法 学习资料来源: datacamp ...
- R语言创建新变量方法
R语言创建新变量方法 在数据分析中,可能需要对数据进行求和.求均值等处理,并且将处理后的数据重新保存到原来的数据框中,这里提供三种可供解决的方法: 数据框$变量名 <- 表达式.若原数据框中含有 ...
- R语言实现常用多重比较方法
R语言实现常用多重比较方法 在单因素方差分析ANOVA中,如果该因素影响比较显著,那么需要进一步利用多重比较方法比较该因素不同水平的影响,确定不同水平下该因素的影响是否显著.常见的多重比较方法主要有两 ...
- 如何利用R语言处理 缺失值 数据
主要用到VIM和mice包 [plain] view plain copy install.packages(c("VIM","mice")) 1.处理缺失 ...
- 【无标题】 R语言下载keras最新方法
R语言使用keras 和 tensorflow做深度学习,摘自于deep learning with R 第二版,太贵了好几十美刀. install.packages("keras" ...
- R语言画森林图方法4
获取更多R语言知识,请关注公众号:医学和生信笔记 医学和生信笔记,专注R语言在临床医学中的使用,R语言数据分析和可视化.主要分享R语言做医学统计学.meta分析.网络药理学.临床预测模型.机器学习.生 ...
- [个人笔记]R语言:缺失值NA处理
目录 前言 缺失值分布评估 看有多少行有缺失值: VIM:看一下缺失值的分布.比例情况 缺失值填补方法 Hmisc或e1071包:均值.中位数.随机填充 DMwR2包: 中心填充centralImpu ...
- r语言 siar 代码_sair方法及R操作入门——稳定同位素之食物来源比例分析
(本文于2016-10-5 20:29 首发于 "科学网") 在稳定同位素领域,20世纪70 80 年代开始,利用碳氮稳定同位素来研究食物网结构成为有力的技术手段,以弥补传统的胃含 ...
最新文章
- 防止一个进程被多次启动
- 全国独家首测 腾讯QQ 2011 Beta1体验
- 持续集成mysql_DevOps安装、部署持续集成
- 聊聊 Java 的几把 JVM 级锁
- 从第一范式到第二范式所做的操作是_给女同事讲解MySQL数据库范式与反范式,她直夸我“技术好”
- 什么是 “动态规划” , 用两个经典问题举例。
- ERROR 1045 (28000): Access denied for user 'admin'@'localhost' (using password: YES)
- 并行 并发 多线程 区别
- python画彩色螺旋线_解决python彩色螺旋线绘制引发的问题
- 计算机算法基础总结(借鉴、整理)
- 下载并打开Github源码教程
- python的socket
- 双非普通一本大一学生学期末课设——运动会比赛计分系统
- 【转载!!】一个用消息队列 的人,不知道为啥用 MQ,这就有点尴尬
- 微信公众号活动策划方案怎么写?看完你也可以直接套用
- DB207S-ASEMI手机快充适配器标配整流桥
- Xilinx PCIE DMA--Sparten6/Kintex-7 BMD 搭建
- 十大改名换姓的经典名著
- Java毕设项目-外卖订餐系统
- WIN10专业版/家庭版激活