R语言缺失值判断与处理-2
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相关推荐
- R语言缺失值替换:缺失的值(NA)替换每个分组最近的非缺失值
R语言缺失值替换:缺失的值(NA)替换每个分组最近的非缺失值 目录 R语言缺失值替换:缺失的值(NA)替换每个分组最近的非缺失值
- R语言缺失值:is.na函数查看数据对象中是否包含缺失值NA、特定数据编码为编码为缺失值NA、na.rm=TRUE参数获得有效的计算结果、complete.cases函数筛选数据、na.omit函数
R语言缺失值:is.na函数查看数据对象中是否包含缺失值NA.特定数据编码为编码为缺失值NA.na.rm=TRUE参数获得有效的计算结果.complete.cases函数筛选数据.na.omit函数 ...
- R语言条件判断语句编程:使用if/else语句实现条件逻辑判断、使用all函数判断向量中的值是否全部都满足条件
R语言条件判断语句编程:使用if/else语句实现条件逻辑判断.使用all函数判断向量中的值是否全部都满足条件 目录
- R语言条件判断语句编程:使用嵌套(一串)if/else语句实现条件逻辑判断、并对指定变量进行条件赋值
R语言条件判断语句编程:使用嵌套(一串)if/else语句实现条件逻辑判断.并对指定变量进行条件赋值 目录
- R语言缺失值插补之simputation包
获取更多R语言和生信知识,请欢迎关注公众号:医学和生信笔记 医学和生信笔记 公众号主要分享:1.医学小知识.肛肠科小知识:2.R语言和Python相关的数据分析.可视化.机器学习等:3.生物信息学学习 ...
- r语言查找是否存在空值_R语言-缺失值判断以及处理
#####缺失值判断以及处理##### #举例1:向量类型判断缺失值is.na和缺失值的填补which (x is.na(x) #返回一个逻辑向量,TRUE为缺失值,FALSE为非缺失值 table ...
- R语言中判断是否是整数。以及读写excel
今天接手一个重复性工作, 需要手工把产品运营们在excel里写的活动规则, 插入数据库表中.为了减少出错, 提高效率. 再加上最近刚刚学R语言, 就用R练练手, 自动生成mysql的sql语句. 一次 ...
- R语言︱缺失值处理之多重插补——mice包
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 笔者寄语:缺失值是数据清洗过程中非常重要的问题 ...
- r语言中判断属于回纹元素_R语言中的回归诊断-- car包
如何判断我们的线性回归模型是正确的? 1.回归诊断的基本方法 opar fit par(mfrow = c(2, 2)) plot(fit) par(opar) 为理解这些图形,我们来回顾一下OLS回 ...
最新文章
- Paw 百度ai_直面落地!百度EasyDL产业智能创新大赛成果覆盖能源、交通、水利民生重业...
- CENTOS 7 踢用户_从零学ELK系列(三):Centos安装Docker(超详细图文教程)
- 《MySQL——分区表小记》
- Python 模块 timedatetime
- java入门第二天课程,Java菜鸟培训第二天
- MySQL锁系统总结
- 懒癌晚期学图论的时候自己用C语言写了个求可达性矩阵的算法~
- 【c++】字符串的冒泡排序【存疑,待查】
- SQLite3中核心C API
- 枚举类型转换成字符串
- xxx.pch(No such file or directory)
- MySql 5.6 Packet for query is too large
- excel 基础知识 入门
- 工科数学分析之数学感悟
- 个性化定制将成鞋服行业未来开拓新方向
- 前端下载excel文件的两种方法
- SpringBoot 自动配置初探
- linux服务器搭建之路1-安装各种软件
- 【产品管理】产品管理四要素
- ValueError: could not convert string to float: