缺失值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语言-处理缺失值的方法相关推荐

  1. R语言进行缺失值填充(Filling in missing values):使用R原生方法、data.table、dplyr等方案

    R语言进行缺失值填充(Filling in missing values):使用R原生方法.data.table.dplyr等方案 目录 R语言进行缺失值填充&#x

  2. R语言-数据清洗-缺失值处理

    缺失值处理包括两个步骤,即缺失数据的识别和缺失值处理.在R语言总缺失值以NA表示,可以使用函数is.na()判断缺失值是否存在,函数complete.cases()可识别样本数据是否完整从而判断缺失情 ...

  3. R语言编程的高效方法

    R语言编程的高效方法 R语言编程的高效方法 高效编程之细节知识点 并行计算 1.查看核数 2.可以使用并行计算的场景 3.Parellel 包 R语言编程的高效方法 学习资料来源: datacamp ...

  4. R语言创建新变量方法

    R语言创建新变量方法 在数据分析中,可能需要对数据进行求和.求均值等处理,并且将处理后的数据重新保存到原来的数据框中,这里提供三种可供解决的方法: 数据框$变量名 <- 表达式.若原数据框中含有 ...

  5. R语言实现常用多重比较方法

    R语言实现常用多重比较方法 在单因素方差分析ANOVA中,如果该因素影响比较显著,那么需要进一步利用多重比较方法比较该因素不同水平的影响,确定不同水平下该因素的影响是否显著.常见的多重比较方法主要有两 ...

  6. 如何利用R语言处理 缺失值 数据

    主要用到VIM和mice包 [plain]  view plain  copy install.packages(c("VIM","mice")) 1.处理缺失 ...

  7. 【无标题】 R语言下载keras最新方法

    R语言使用keras 和 tensorflow做深度学习,摘自于deep learning with R 第二版,太贵了好几十美刀. install.packages("keras" ...

  8. R语言画森林图方法4

    获取更多R语言知识,请关注公众号:医学和生信笔记 医学和生信笔记,专注R语言在临床医学中的使用,R语言数据分析和可视化.主要分享R语言做医学统计学.meta分析.网络药理学.临床预测模型.机器学习.生 ...

  9. [个人笔记]R语言:缺失值NA处理

    目录 前言 缺失值分布评估 看有多少行有缺失值: VIM:看一下缺失值的分布.比例情况 缺失值填补方法 Hmisc或e1071包:均值.中位数.随机填充 DMwR2包: 中心填充centralImpu ...

  10. r语言 siar 代码_sair方法及R操作入门——稳定同位素之食物来源比例分析

    (本文于2016-10-5 20:29 首发于 "科学网") 在稳定同位素领域,20世纪70 80 年代开始,利用碳氮稳定同位素来研究食物网结构成为有力的技术手段,以弥补传统的胃含 ...

最新文章

  1. 防止一个进程被多次启动
  2. 全国独家首测 腾讯QQ 2011 Beta1体验
  3. 持续集成mysql_DevOps安装、部署持续集成
  4. 聊聊 Java 的几把 JVM 级锁
  5. 从第一范式到第二范式所做的操作是_给女同事讲解MySQL数据库范式与反范式,她直夸我“技术好”
  6. 什么是 “动态规划” , 用两个经典问题举例。
  7. ERROR 1045 (28000): Access denied for user 'admin'@'localhost' (using password: YES)
  8. 并行 并发 多线程 区别
  9. python画彩色螺旋线_解决python彩色螺旋线绘制引发的问题
  10. 计算机算法基础总结(借鉴、整理)
  11. 下载并打开Github源码教程
  12. python的socket
  13. 双非普通一本大一学生学期末课设——运动会比赛计分系统
  14. 【转载!!】一个用消息队列 的人,不知道为啥用 MQ,这就有点尴尬
  15. 微信公众号活动策划方案怎么写?看完你也可以直接套用
  16. DB207S-ASEMI手机快充适配器标配整流桥
  17. Xilinx PCIE DMA--Sparten6/Kintex-7 BMD 搭建
  18. 十大改名换姓的经典名著
  19. Java毕设项目-外卖订餐系统
  20. WIN10专业版/家庭版激活

热门文章

  1. Vscode运行Demo程序出现错误
  2. Could not load requested class
  3. 本地测试微信授权登录
  4. r语言导入spss数据_R 中数据导入
  5. php公众号模板在哪,微信公众号模板哪里找?公众号如何套用模板?
  6. 小森林顺序_电影:《小森林》两部
  7. con和com开头单词
  8. android多个柱状图和折线图,RecyclerView 实现柱状图和折线图
  9. hp linux 禁用u盘启动项,惠普台式机UEFI BIOS设置U盘启动
  10. dedecms flag标签属性