R语言-缺失值判断以及处理
上次说了关于某个固定值,异常值,缺失值等的固定位置,今天详细说下如果数据列中出现缺失值,该如何处理。
向量组中的不说了,一般实践都是数据框。

1.数据框缺失值判断

  • 数据框类型判断缺失值is.na、缺失值的填补which、缺失值所在行的删除na.omit
  • 1.数据列
  • 2.判断is.na()
  • 3.对应行列位置which(arr.ind = T)
  • 4.删除na.omit
  • 5.统计缺失值数量sum,mean,table
  • 6.计算忽略(平均值,求和,sd,se等等)na.rm=TRUE
#1
> (test<-data.frame(x=c(1,2,3,4,NA),y=c(6,7,NA,8,9)))x  y
1  1  6
2  2  7
3  3 NA
4  4  8
5 NA  9
#2
> is.na(test)  #test中空值的判断x     y
[1,] FALSE FALSE
[2,] FALSE FALSE
[3,] FALSE  TRUE
[4,] FALSE FALSE
[5,]  TRUE FALSE
#3
> which(is.na(test),arr.ind = T)  #arr.ind=T可以返回缺失值的相应行列坐标row col
[1,]   5   1
[2,]   3   2
#4
> (test_omit<-na.omit(test))  #na.omit函数可以直接删除值所在的行x y
1 1 6
2 2 7
4 4 8
#5
> sum(test$x)
[1] NA
> sum(test$x, na.rm = TRUE)
[1] 10
#6 统计缺失值个数
> table(is.na(test))
FALSE  TRUE 8     2
> sum(is.na(test))
[1] 2
> mean(is.na(test))
[1] 0.2

2.缺失值插补—回归模型

  • 1.判断位置
  • 2.新学一个代码dput
  • 3.非空值数据集,空值数据集
  • 4.回归建模
  • 5.赋值拟合数据值
#1
index1<-is.na(airquality$Ozone);index1 #对Ozone变量进行缺失值处理[1] FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE[19] FALSE FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE##2
> aa <- dput(colnames(airquality));aa #求出变量列名称
c("Ozone", "Solar.R", "Wind", "Temp", "Month", "Day")#3
> Ozone_train<-airquality[!index1,c("Ozone", "Wind", "Temp", "Month", "Day")] #训练集,非空值
> Ozone_trainOzone Wind Temp Month Day
1      41  7.4   67     5   1
2      36  8.0   72     5   2
3      12 12.6   74     5   3
> Ozone_test<-airquality[index1,c("Ozone", "Wind", "Temp", "Month", "Day")] #测试集,空值
> Ozone_testOzone Wind Temp Month Day
5      NA 14.3   56     5   5
10     NA  8.6   69     5  10
25     NA 16.6   57     5  25
26     NA 14.9   58     5  26#4
> fit<-lm(Ozone~.,data = Ozone_train) #建立线性回归模型
> summary(fit)Call:
lm(formula = Ozone ~ ., data = Ozone_train)Residuals:Min      1Q  Median      3Q     Max
-42.540 -12.582  -2.989  10.460  99.807 Coefficients:Estimate Std. Error t value Pr(>|t|)
(Intercept) -70.1051    23.7929  -2.946  0.00392 **
Wind         -3.0516     0.6499  -4.696 7.65e-06 ***
Temp          2.0984     0.2653   7.909 2.10e-12 ***
Month        -3.5209     1.4932  -2.358  0.02012 *
Day           0.2747     0.2297   1.196  0.23434
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1Residual standard error: 21.41 on 111 degrees of freedom
Multiple R-squared:  0.5934,    Adjusted R-squared:  0.5788
F-statistic: 40.51 on 4 and 111 DF,  p-value: < 2.2e-16#5
airquality[index1,"Ozone"]<-predict(fit,newdata =Ozone_test )

看完如果对你有帮助,感谢点赞支持!
如果你是电脑端,看到右下角的 “一键三连” 了吗,没错点它[哈哈]

R语言缺失值判断与处理-2相关推荐

  1. R语言缺失值替换:缺失的值(NA)替换每个分组最近的非缺失值

    R语言缺失值替换:缺失的值(NA)替换每个分组最近的非缺失值 目录 R语言缺失值替换:缺失的值(NA)替换每个分组最近的非缺失值

  2. R语言缺失值:is.na函数查看数据对象中是否包含缺失值NA、特定数据编码为编码为缺失值NA、na.rm=TRUE参数获得有效的计算结果、complete.cases函数筛选数据、na.omit函数

    R语言缺失值:is.na函数查看数据对象中是否包含缺失值NA.特定数据编码为编码为缺失值NA.na.rm=TRUE参数获得有效的计算结果.complete.cases函数筛选数据.na.omit函数 ...

  3. R语言条件判断语句编程:使用if/else语句实现条件逻辑判断、使用all函数判断向量中的值是否全部都满足条件

    R语言条件判断语句编程:使用if/else语句实现条件逻辑判断.使用all函数判断向量中的值是否全部都满足条件 目录

  4. R语言条件判断语句编程:使用嵌套(一串)if/else语句实现条件逻辑判断、并对指定变量进行条件赋值

    R语言条件判断语句编程:使用嵌套(一串)if/else语句实现条件逻辑判断.并对指定变量进行条件赋值 目录

  5. R语言缺失值插补之simputation包

    获取更多R语言和生信知识,请欢迎关注公众号:医学和生信笔记 医学和生信笔记 公众号主要分享:1.医学小知识.肛肠科小知识:2.R语言和Python相关的数据分析.可视化.机器学习等:3.生物信息学学习 ...

  6. r语言查找是否存在空值_R语言-缺失值判断以及处理

    #####缺失值判断以及处理##### #举例1:向量类型判断缺失值is.na和缺失值的填补which (x is.na(x)  #返回一个逻辑向量,TRUE为缺失值,FALSE为非缺失值 table ...

  7. R语言中判断是否是整数。以及读写excel

    今天接手一个重复性工作, 需要手工把产品运营们在excel里写的活动规则, 插入数据库表中.为了减少出错, 提高效率. 再加上最近刚刚学R语言, 就用R练练手, 自动生成mysql的sql语句. 一次 ...

  8. R语言︱缺失值处理之多重插补——mice包

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 笔者寄语:缺失值是数据清洗过程中非常重要的问题 ...

  9. r语言中判断属于回纹元素_R语言中的回归诊断-- car包

    如何判断我们的线性回归模型是正确的? 1.回归诊断的基本方法 opar fit par(mfrow = c(2, 2)) plot(fit) par(opar) 为理解这些图形,我们来回顾一下OLS回 ...

最新文章

  1. Paw 百度ai_直面落地!百度EasyDL产业智能创新大赛成果覆盖能源、交通、水利民生重业...
  2. CENTOS 7 踢用户_从零学ELK系列(三):Centos安装Docker(超详细图文教程)
  3. 《MySQL——分区表小记》
  4. Python 模块 timedatetime
  5. java入门第二天课程,Java菜鸟培训第二天
  6. MySQL锁系统总结
  7. 懒癌晚期学图论的时候自己用C语言写了个求可达性矩阵的算法~
  8. 【c++】字符串的冒泡排序【存疑,待查】
  9. SQLite3中核心C API
  10. 枚举类型转换成字符串
  11. xxx.pch(No such file or directory)
  12. MySql 5.6 Packet for query is too large
  13. excel 基础知识 入门
  14. 工科数学分析之数学感悟
  15. 个性化定制将成鞋服行业未来开拓新方向
  16. 前端下载excel文件的两种方法
  17. SpringBoot 自动配置初探
  18. linux服务器搭建之路1-安装各种软件
  19. 【产品管理】产品管理四要素
  20. ValueError: could not convert string to float:

热门文章

  1. unravel AI图片动起来
  2. Process On 免费在线作图工具
  3. 杨辉三角形详解(倒立or正立)
  4. **Mac怎么解除锁屏密码的4位数限制**
  5. 知乎16万赞:“你对空姐提过最奇怪的要求是什么?”回答暴露文化水平
  6. 前端学习 DAY04
  7. 4.14黄金原油早盘直通车,黄金原油顺势操作建议
  8. 计算机控制技术期中考试,西安科技大学计算机控制技术期中考试.doc
  9. 【无标题】数仓实战之亚马逊全球跨境电商分析平台
  10. 【值得反复看反复思考】博弈心理学完结撒花(精华篇)