R语言日常笔记(1)filter函数- 腾讯云开发者社区

文章推薦指數: 80 %
投票人數:10人

R语言日常笔记(1)filter函数. 在处理数据时,过滤数据是最基本的操作之一。

如果想删除一部分无效或者根本不感兴趣的数据。

dplyr有filter()函数 ... 腾讯云备案控制台腾讯云开发者社区专栏问答沙龙团队主页TVP搜索搜索关闭创作写文章发视频提问登录注册展开腾讯云·社区登录首页专栏问答沙龙团队主页TVP返回腾讯云官网用户1359560354篇文章R语言日常笔记(1)filter函数转到我的清单专栏首页生信小驿站R语言日常笔记(1)filter函数20分享分享文章到朋友圈分享文章到QQ分享文章到微博复制文章链接到剪贴板海报分享海报分享R语言日常笔记(1)filter函数发布于2019-07-1615:29:25阅读14.7K0R语言日常笔记(1)filter函数在处理数据时,过滤数据是最基本的操作之一。

如果想删除一部分无效或者根本不感兴趣的数据。

dplyr有filter()函数来做这样的过滤。

使用dplyr,可以帮助使用者像使用SQL或者传统BI工具以简单且更直观的方式进行过滤。

导入数据,这一次主要使用的是flight数据集 rm(list=ls()) library(nycflights13) library(dplyr) flights >flights #Atibble:336,776x19 yearmonthdaydep_timesched_dep_timedep_delayarr_timesched_arr_timearr_delaycarrier 1201311517515283081911UA 2201311533529485083020UA 3201311542540292385033AA 4201311544545-110041022-18B6 5201311554600-6812837-25DL 6201311554558-474072812UA 7201311555600-591385419B6 8201311557600-3709723-14EV 9201311557600-3838846-8B6 10201311558600-27537458AA #...with336,766morerows,and9morevariables:flight,tailnum,origin, #dest,air_time,distance,hour,minute,time_hour >复制挑选carrier列为UA的行(观测值) flights%>% select(flight,carrier,origin,dep_delay, dep_delay,arr_delay,air_time)%>% filter(carrier=="UA") #Atibble:58,665x6 flightcarrierorigindep_delayarr_delayair_time 11545UAEWR211227 21714UALGA420227 31696UAEWR-412150 4194UAJFK-27345 51124UAEWR-2-14361 61187UAEWR-1-8337 71077UAEWR0-17157 8303UAJFK1114366 9496UALGA-41229 101665UAEWR-229366 #...with58,655morerows复制挑选carrier列为UA同时origin为LGA的行(观测值) flights%>% select(flight,carrier,origin,dep_delay, dep_delay,arr_delay,air_time)%>% filter(carrier=="UA"&origin=="LGA") #Atibble:8,044x6 flightcarrierorigindep_delayarr_delayair_time 11714UALGA420227 2496UALGA-41229 3883UALGA1-6243 41092UALGA920135 5473UALGA-43238 6477UALGA2-4249 7255UALGA113154 81004UALGA211237 91086UALGA134145248 10405UALGA1334256 #...with8,034morerows >复制挑选carrier列不为UA同时origin为LGA的行(观测值) flights%>% select(flight,carrier,origin,dep_delay, dep_delay,arr_delay,air_time)%>% filter(carrier!="UA"&origin=="LGA") #Atibble:96,618x6 flightcarrierorigindep_delayarr_delayair_time 1461DLLGA-6-25116 25708EVLGA-3-1453 3301AALGA-28138 4707AALGA-131257 5371B6LGA0-7152 64650MQLGA012134 71919DLLGA-8-8170 84401MQLGA-316105 91837AALGA135153 104599MQLGA-610166 #...with96,608morerows >复制挑选carrier列为UA或者AS行(观测值) flights%>% select(flight,carrier,origin,dep_delay, dep_delay,arr_delay,air_time)%>% filter(carrier%in%c('AA','AS'))%>% count(carrier) #Atibble:2x2 carriern 1AA32729 2AS714复制挑选carrier列不为UA或者AS行(观测值) flights%>% select(flight,carrier,origin,dep_delay, dep_delay,arr_delay,air_time)%>% filter(!carrier%in%c('AA','AS'))%>% count(carrier) #Atibble:14x2 carriern 19E18460 2B654635 3DL48110 4EV54173 5F9685 6FL3260 7HA342 8MQ26397 9OO32 10UA58665 11US20536 12VX5162 13WN12275 14YV601 >复制挑选arr_delay列为NA的行(观测值) flights%>% select(flight,carrier,origin,dep_delay, dep_delay,arr_delay,air_time)%>% filter(is.na(arr_delay)) #Atibble:9,430x6 flightcarrierorigindep_delayarr_delayair_time 14525MQLGA-5NANA 23806EVEWR29NANA 34413MQLGA-5NANA 41228UAEWR29NANA 533259EJFK59NANA 64333EVEWR22NANA 74204EVEWR46NANA 84308EVEWRNANANA 9791AALGANANANA 101925AALGANANANA #...with9,420morerows复制挑选arr_delay列不为NA的行(观测值) flights%>% select(flight,carrier,origin,dep_delay, dep_delay,arr_delay,air_time)%>% filter(!is.na(arr_delay)) #Atibble:327,346x6 flightcarrierorigindep_delayarr_delayair_time 11545UAEWR211227 21714UALGA420227 31141AAJFK233160 4725B6JFK-1-18183 5461DLLGA-6-25116 61696UAEWR-412150 7507B6EWR-519158 85708EVLGA-3-1453 979B6JFK-3-8140 10301AALGA-28138 #...with327,336morerows复制除了上述的例子,filter函数目前还有filter_all,filter_at,filter_if三个补充函数,这三个函数使得filter函数更加强大。

filter_all函数(一般用于使用者想对数据集所有列进行筛选操作时) >library(ggplot2) >mtcars%>% +head() mpgcyldisphpdratwtqsecvsamgearcarb MazdaRX421.061601103.902.62016.460144 MazdaRX4Wag21.061601103.902.87517.020144 Datsun71022.84108933.852.32018.611141 Hornet4Drive21.462581103.083.21519.441031 HornetSportabout18.783601753.153.44017.020032 Valiant18.162251052.763.46020.221031复制挑选任意一列数值大于150的行(观测值) >mtcars%>% +filter_all(any_vars(.>150))%>% +head() mpgcyldisphpdratwtqsecvsamgearcarb 121.061601103.902.62016.460144 221.061601103.902.87517.020144 321.462581103.083.21519.441031 418.783601753.153.44017.020032 518.162251052.763.46020.221031 614.383602453.213.57015.840034 >复制挑选所有列数值均大于的行(观测值) filter_all(mtcars,all_vars(.>0)) mpgcyldisphpdratwtqsecvsamgearcarb 122.84108.0933.852.32018.611141 232.4478.7664.082.20019.471141 330.4475.7524.931.61518.521142 433.9471.1654.221.83519.901141 527.3479.0664.081.93518.901141 630.4495.11133.771.51316.901152 721.44121.01094.112.78018.601142复制其他操作 >bb mpgcyldisphpdratwtqsecvs MazdaRX421.06160.01103.902.62016.460 MazdaRX4Wag21.06160.01103.902.87517.020 Datsun71022.84108.0933.852.32018.611 Hornet4Drive21.46258.01103.083.21519.441 HornetSportabout18.78360.01753.153.44017.020 Valiant18.16225.01052.763.46020.221 Duster36014.38360.02453.213.57015.840 Merc240D24.44146.7623.693.19020.001 >filter_all(b,all_vars(.!=0)) #挑选所有列数值均不等于0的行(观测值) mpgcyldisphpdratwtqsecvs 122.84108.0933.852.32018.611 221.46258.01103.083.21519.441 318.16225.01052.763.46020.221 424.44146.7623.693.19020.001 >filter_all(b,any_vars(.!=0)) #挑选有任意列数值不等于0的行(观测值) mpgcyldisphpdratwtqsecvs 121.06160.01103.902.62016.460 221.06160.01103.902.87517.020 322.84108.0933.852.32018.611 421.46258.01103.083.21519.441 518.78360.01753.153.44017.020 618.16225.01052.763.46020.221 714.38360.02453.213.57015.840 824.44146.7623.693.19020.001 >filter_all(b,any_vars(.>200)) #挑选有所有列数值大于200的行(观测值) mpgcyldisphpdratwtqsecvs 121.462581103.083.21519.441 218.783601753.153.44017.020 318.162251052.763.46020.221 414.383602453.213.57015.840复制filter_at函数(一般用于使用者想对数据集中的符合条件的列进行筛选操作时(注:虽然是以特定列进行筛选的,但是最后呈现的数据还是全部列) >mtcars%>% +filter_at(vars(starts_with("d")),any_vars((.%%2)==0)) mpgcyldisphpdratwtqsecvsamgearcarb 121.061601103.902.62016.460144 221.061601103.902.87517.020144 322.84108933.852.32018.611141 421.462581103.083.21519.441031 518.783601753.153.44017.020032 614.383602453.213.57015.840034 710.484722052.935.25017.980034 810.484602153.005.42417.820034 914.784402303.235.34517.420034 1015.583181502.763.52016.870032 1115.283041503.153.43517.300032 1213.383502453.733.84015.410034 1319.284001753.083.84517.050032复制filter_if函数(一般用于使用者想对数据集中的符合条件的列进行转换,然后进行观测值的筛选时)。

>bb mpgcyldisphpdratwtqsecvs MazdaRX421.06160.01103.902.62016.460 MazdaRX4Wag21.06160.01103.902.87517.020 Datsun71022.84108.0933.852.32018.611 Hornet4Drive21.46258.01103.083.21519.441 HornetSportabout18.78360.01753.153.44017.020 Valiant18.16225.01052.763.46020.221 Duster36014.38360.02453.213.57015.840 Merc240D24.44146.7623.693.19020.001 #首先将b的所有列的值转换成整数,然后筛选出其中不等0的观测值 >filter_if(b,~all(floor(.)==.),all_vars(.!=0)) mpgcyldisphpdratwtqsecvs 122.84108.0933.852.32018.611 221.46258.01103.083.21519.441 318.16225.01052.763.46020.221 424.44146.7623.693.19020.001复制当有多个列需要进行条件筛选时(下列两种方法结果一致,都是基于mpg和disp进行行筛选) >mtcars%>% +head() mpgcyldisphpdratwtqsecvsamgearcarb MazdaRX421.061601103.902.62016.460144 MazdaRX4Wag21.061601103.902.87517.020144 Datsun71022.84108933.852.32018.611141 Hornet4Drive21.462581103.083.21519.441031 HornetSportabout18.783601753.153.44017.020032 Valiant18.162251052.763.46020.221031 > > >varscondmtcars%>% +as_tibble()%>% +filter( +.data[[vars[[1]]]]>cond[[1]], +.data[[vars[[2]]]]>cond[[2]] +) #Atibble:8x11 mpgcyldisphpdratwtqsecvsamgearcarb 12161601103.92.6216.50144 22161601103.92.8817.00144 321.462581103.083.2219.41031 424.44147.623.693.19201042 522.84141.953.923.1522.91042 619.26168.1233.923.4418.31044 719.284001753.083.8417.00032 819.761451753.622.7715.50156 > > > >mtcars%>% +as_tibble()%>% +filter(mpg>19&disp>140) #Atibble:8x11 mpgcyldisphpdratwtqsecvsamgearcarb 12161601103.92.6216.50144 22161601103.92.8817.00144 321.462581103.083.2219.41031 424.44147.623.693.19201042 522.84141.953.923.1522.91042 619.26168.1233.923.4418.31044 719.284001753.083.8417.00032 819.761451753.622.7715.50156复制本文参与腾讯云自媒体分享计划,欢迎热爱写作的你一起参与!本文分享自作者个人站点/博客:https://www.jianshu.com/u/619b87e54936复制如有侵权,请联系[email protected]删除。

展开阅读全文编程算法举报点赞2分享登录后参与评论0条评论R语言日常笔记(2)distinc函数从结果发现d1也就是用match的速度非常快!而在tidyverse方法中,d3的summarize显然更好。

用户1359560R语言日常笔记(4)修改基因最大表达值问题描述:差异基因分析中有一些基因会有异常表达,例如说,A基因在大部分样本表达量介于1-10之间,然后A基因在甲样本表达量高达10000以上,这就是明显的异常表...用户1359560小白笔记——R语言(1)最近一段时间的R语言学习笔记,以便于自己学习之用,特记录在博客中,感兴趣的人还可以看看。

记录的东西也不一定正确,请大家指教,里面可能会引用到一些别人的资料等,作...云时之间4-1R语言函数lapplyhankleoR语言日常笔记(5)一些小问题的集合一般常用中位数将样本分为高低表达组,这样便于绘制,但是假如说某个基因表达量为0的样本数目超过了半数,这样的结果就是所有该基因的所有表达量被修改成‘high’,这...用户1359560R语言进阶笔记3|dplyr常用函数介绍管道符在Rstudio中快捷键是Ctrl+Shift+M,打印出来是%/%,它可以将前面的结果传递到后面作为参数邓飞JavaScript语言精粹笔记1-语法、对象、函数这里说一下JavaScript的注释,一种是/**/包围的块注释,另一种是//开头的行注释。

零式的天空R语言进阶笔记1|深挖一门语言的必要性作为专业人员,要不断的学习新事物,多多读书思考,克服浮躁情绪,才可以让自己的内心清澈如池水。

不断的注入活水(新知识),才能滋润心灵焕发神采,才能达到比较高的境界...邓飞【学习】R语言与机器学习学习笔记(1)K-近邻算法前言 最近在学习数据挖掘,对数据挖掘中的算法比较感兴趣,打算整理分享一下学习情况,顺便利用R来实现一下数据挖掘算法。

数据挖掘里我打算整理的...小莹莹R语言基础绘图函数散点图~跟着NatureCommunications学画图~Figure1今天继续跟着NatureCommunications学画图系列第二篇。

学习R语言基础绘图函数画散点图。

用户7010445左手用R右手Python系列5——数据切片与索引今天这篇跟大家分享我的RVSPyhton学习笔记系列5——数据索引与切片。

我之前分享过的所有学习笔记都不是从完全零基础开始的,因为没有包含任何的数据结构与...数据小磨坊复制粘贴就能运行的100套R实战演练代码也有错误前面整理了100多套R代码,因为时间跨度有点长,而且公众号写作后没办法修改,所以安排实习生进行代码审查,看看是不是确实复制粘贴就可以运行。

生信技能树高效R编程这是《高效R语言编程》的学习笔记,前面的笔记在这里:https://blog.csdn.net/zd200572/article/details/1153493...用户1075469【好书共享】《RforDataScience》的中译版这本书将教我们如何用R来做数据科学:学习如何将自己的数据导入R中,把它变成最有用的结构,转换,可视化并对数据进行建模。

在这本书中,我们会学习数据科学需要实用技能...生信技能树跟着BMCgenomics学作图:R语言ggplot2+ggtree进化树拼接三角热图这里新学到的一个知识点是拼图的时候可以使用plot_spacer()函数占据一个空白位置用户7010445使用R语言的clusterProfiler对葡萄做GO富集分析的简单小例子这一步可以拿到gene_id还有gene_name,FPKM的表达量,cov对用的应该是readscount吧。

用户7010445【100种语言速成】第1节:Python从今天开始打算做100种编程语言的速通。

频率大概一周两篇,我会发布有关不同编程语言的信息,尝试每种语言的有趣之处。

海拥Python学习笔记二(高级特性)类似于java的for…each方法,任何可迭代对象都可以作用于 for循环,包括我们自定义的数据类型,只要符合迭代条件(即 Iterable类型...全栈程序员站长R语言ggplot2包画曼哈顿图的一个简单小例子曼哈顿图可以理解成一个x对应多个y的散点图,ggplot2里做这种图的函数是geom_jitter()用户7010445更多文章用户1359560关注专栏文章354阅读量428.4K获赞849作者排名566腾讯云原生专题云原生技术干货,业务实践落地。

云安全最佳实践-创作者计划火热征文中,发布文章赢千元好礼!立即查看腾讯云自媒体分享计划入驻腾讯云开发者社区,共享百万资源包。

立即入驻广告关闭社区专栏文章阅读清单互动问答技术沙龙技术视频团队主页腾讯云TI平台活动自媒体分享计划邀请作者入驻自荐上首页技术竞赛资源技术周刊社区标签开发者手册开发者实验室关于视频介绍社区规范免责声明联系我们友情链接归档问题归档专栏文章归档快讯文章归档关键词归档开发者手册归档开发者手册Section归档腾讯云开发者扫码关注腾讯云开发者领取腾讯云代金券热门产品域名注册云服务器区块链服务消息队列网络加速云数据库域名解析云存储视频直播热门推荐人脸识别腾讯会议企业云CDN加速视频通话图像分析MySQL数据库SSL证书语音识别更多推荐数据安全负载均衡短信文字识别云点播商标注册小程序开发网站监控数据迁移Copyright©2013-2022TencentCloud.AllRightsReserved.腾讯云版权所有京公网安备11010802017518粤B2-20090059-1扫描二维码扫码关注腾讯云开发者领取腾讯云代金券



請為這篇文章評分?