前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >小技巧:R语言里删除带有缺失值的列

小技巧:R语言里删除带有缺失值的列

作者头像
用户7010445
发布于 2021-07-12 07:58:09
发布于 2021-07-12 07:58:09
8.5K00
代码可运行
举报
运行总次数:0
代码可运行

如果是要去除包含缺失值的行,直接使用na.omit()函数就可以了,但是如果要去除含有缺失值的列呢?

经过搜索找到了一个相对比较简单的代码

https://stackoverflow.com/questions/12454487/remove-columns-from-dataframe-where-some-of-values-are-na

代码

首先是构造一份数据集
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dfpra<-data.frame(A=1:5,
                  B=c(1:4,NA),
                  D=c(NA,NA,1:3))
dfpra

image.png

实现目的需要借助dplyr这个R包

用到的是select_if()函数

这个具体的写法怎么解释我暂时还没有搞明白,先背下来再说吧

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dfpra
library(dplyr)
dfpra %>% 
  select_if(~any(is.na(.)))

这个代码是保留带有缺少值的列

image.png

如果是要删除带有缺失值的列在any函数前加一个感叹号就可以了

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dfpra<-data.frame(A=1:5,
                  B=c(1:4,NA),
                  D=c(NA,NA,1:3))
dfpra
library(dplyr)
dfpra %>% 
  select_if(~!any(is.na(.)))

image.png

any()函数的用法

通过?any命令查看帮助文档,返回内容是

image.png

Given a set of logical vectors, is at least one of the values true?

判断数据集是否至少存在一个数据满足指定的条件,返回值是TRUE或者FALSE 比如判断一组数据中是否存在负数

代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
x1<-c(1,2,3,4,5)
any(x1<0)
x2<-c(-1,2,3)
any(x2<0)

image.png

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-06-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小明的数据分析笔记本 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
给数据科学家的10个提示和技巧Vol.4
原文:10 Tips And Tricks For Data Scientists Vol.4[1]
庄闪闪
2021/07/23
5040
基础知识 | R语言数据管理之缺失值
在做任何数据分析的第一步,是根据个人需求创建数据集,存储数据的结构是多样的,包括向量,矩阵、数据框、因子以及列表等。其实,以上几个R语言的独特术语,在C++中也会经常用到,导致很多人都会认为自己很熟悉的错觉,然而在实际的应用中,却经常出现错误。最近在处理一波量大的数据,在运行程序的过程中,因为前期数据处理错误却出现各种bug,经过检查数据集发现是数据管理的问题,为了巩固R语言的基本数据管理,特地重新基础知识。
黑妹的小屋
2020/08/06
6550
R语言之缺失值处理
在实际的数据分析中,缺失数据是常常遇到的。缺失值(missing values)通常是由于没有收集到数据或者没有录入数据。
timerring
2023/10/13
7320
R语言之缺失值处理
左手用R右手Python系列8——数据去重与缺失值处理
因为最近事情略多,最近更新的不勤了,但是学习的脚步不能停,一旦停下来,有些路就白走了,今天就盘点一下R语言和Python中常用于处理重复值、缺失值的函数。 在R语言中,涉及到数据去重与缺失值处理的函数一共有下面这么几个: unique distinct intersect union duplicated #布尔判断 is.na()/!is.na() #缺/非缺失值 na.rm=TRUE/FALSE #移除缺失值 na.omit(lc) #忽略缺失值 complete.
数据小磨坊
2018/04/11
1.9K0
左手用R右手Python系列8——数据去重与缺失值处理
【学习】《R实战》读书笔记(第四章)
读书会是一种在于拓展视野、宏观思维、知识交流、提升生活的活动。PPV课R语言读书会以“学习、分享、进步”为宗旨,通过成员协作完成R语言专业书籍的精读和分享,达到学习和研究R语言的目的。读书会由辅导老师或者读书会成员推荐书籍,经过讨论确定要读的书,每个月读一本书且要精读,大家一起分享。 第四章 基本数据管理 本章概要 1操作数据和缺失值。 2明白数据类型转换 3创建和重命名变量 4排序、合并和子数据集 5选择和删除变量 本章所介绍内容概括如下。 把数据导入矩阵或者数据框仅是数据分析准备的第一步,花在数据分
小莹莹
2018/04/19
9010
【学习】《R实战》读书笔记(第四章)
如何应对缺失值带来的分布变化?探索填充缺失值的最佳插补算法
本文将探讨了缺失值插补的不同方法,并比较了它们在复原数据真实分布方面的效果,处理插补是一个不确定性的问题,尤其是在样本量较小或数据复杂性高时的挑战,应选择能够适应数据分布变化并准确插补缺失值的方法。
deephub
2024/06/17
6570
如何应对缺失值带来的分布变化?探索填充缺失值的最佳插补算法
R语言第二章数据处理⑨缺失值判断和填充
=========================================
用户1359560
2019/03/04
2.8K0
R语言中的特殊值及缺失值NA的处理方法
R语言中存在一些null-able values,当我们进行数据分析时,理解这些值是非常重要的。
小汪Waud
2023/02/16
3.6K0
R语言_基本数据管理
#创建新变量并保存到原有数据框 #way 1 d = data.frame(x1=1:4,x2=2:5) d$sum = d$x1+d$x2 #way 2 d= transform(d,sum=x1+x2,meanx=(x1+x2)/2) #变量的重编码 d = within(d,{ x1Less2 = NA x1Less2[x1<=2] = "y" x1Less2[x1>2] = "n" }) #变量的重命名 fix(d) names(d)[c(3,4)] = c("sum
用户1147754
2019/05/27
6060
R语言︱情感分析—基于监督算法R语言实现(二)
版权声明:博主原创文章,微信公众号:素质云笔记,转载请注明来源“素质云博客”,谢谢合作!! https://blog.csdn.net/sinat_26917383/article/details/51302425
悟乙己
2019/05/26
1.8K0
R In Action |基本数据管理
学习R会慢慢的发现,数据的前期准备通常会花费很多的时间,从最基础的开始学,后面逐渐使用更便利的工具(R包)解决实际的问题。
生信补给站
2020/08/06
1.2K0
28. R 数据整理(三:缺失值NA 的处理方法汇总)
可以使用is.na() 函数对向量进行遍历,如果存在NA,则会返回TRUE,反之。
北野茶缸子
2021/12/17
4.9K0
R语言|数据清洗
数据清洗是数据分析流程中必不可少的一步。清洗得当的数据是可靠分析的基础,而在R语言中,有许多强大而灵活的工具可以帮助我们高效完成数据清洗。本文将全面介绍R语言数据清洗的常见技巧,并配以具体的代码示例。
天意生信云
2025/01/22
2980
R语言|数据清洗
玩转数据处理120题|Pandas&R
本文精心挑选在数据处理中常见的120种操作并整理成习题发布。并且每一题同时给出Pandas与R语言解法,同时针对部分习题给出了多种方法与注解。本系列一共涵盖了数据处理、计算、可视化等常用操作,动手敲一遍代码一定会让你有所收获!
刘早起
2020/04/22
6.3K0
R语言从入门到精通:Day5
在正文内容开始之前,我先给大家推荐一个文档https://google.github.io/styleguide/Rguide.xml
用户6317549
2019/09/24
1.7K0
R语言从入门到精通:Day5
34. R 数据整理(六:根据分类新增列的种种方法 1.0)
通过 gather ,并设定key(原先的列),与value(原先的数据),并通过 - (原先的行),对数据框进行转换。
北野茶缸子
2021/12/17
2.2K0
34. R 数据整理(六:根据分类新增列的种种方法 1.0)
R语言-缺失值(一)
大部分统计方法都假定处理的是完整向量、矩阵、数据框,但是在大多数情况下,在处理真实数据之前 不得不消除缺失值数据:(1)删除含有缺失值的实例;(2)用合理的值替代缺失值。缺失值的处理主要用VIM和mice函数
黑妹的小屋
2020/08/06
1.1K0
R语言处理缺失数据的高级方法
主要用到VIM和mice包 [plain] view plain install.packages(c("VIM","mice")) 1.处理缺失值的步骤 步骤: (1)识别缺失数据; (2)检查导致数据缺失的原因; (3)删除包含缺失值的实例或用合理的数值代替(插补)缺失值 缺失值数据的分类: (1)完全随机缺失:若某变量的缺失数据与其他任何观测或未观测变量都不相关,则数据为完全随机缺失(MCAR)。 (2)随机缺失:若某变量上的缺失数据与其他观测变量相关,与它自己的未观测值不相关,则数据为随机缺失(
机器学习AI算法工程
2018/03/13
2.7K0
R语言处理缺失数据的高级方法
缺失值处理(r语言,mice包)
对缺失值的处理是数据预处理中的重要环节,造成数据缺失的原因有:数据丢失、存储故障和调查中拒绝透露相关信息。这里我们使用VIM包中的sleep数据集为样本,介绍缺失值处理的方法。sleep数据集纪录了62个哺乳动物的睡眠信息,包括体重,睡眠时长,做梦时长等。 缺失值分类 1,完全随机缺失(MCAR):缺失数据与其他变量无关。如果每个缺失变量都为MCAR,则完整样本可看为更大数据集的简单抽样。 2,随机缺失(CAR):缺失数据与其他观测变量相关,与本身变量不相关。比如体重小的动物Dream数据更容易缺失(较小动
三猫
2018/04/10
3.9K0
缺失值处理(r语言,mice包)
我常用的缺失值插补方法
有的时候,面对一个有缺失值的数据,我只想赶紧把它插补好,此时的我并不在乎它到底是怎么缺失、插补质量如何等,我只想赶紧搞定缺失值,这样好继续进行接下来的工作。
医学和生信笔记
2023/02/14
1.3K0
相关推荐
给数据科学家的10个提示和技巧Vol.4
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验