全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
42696 5
2018-05-30
在数据清洗时,如何按照特定条件删除数据表里面的行。例如下图中,我想删除a22为缺失值的行,此外还想删除a23小于2000的行(但保留a23为缺失值的行),这种怎么弄,求大神指导,本小白刚开始使用R。 捕获.PNG

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2018-5-30 13:58:11
library(dplyr)

data002=data%>%filter(is.na(a22)==FALSE
                                  , a23>=2000 | is.na(a23)==TRUE
                                    )



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-5-30 14:14:06
列名元素与2000比较后,会得到一组逻辑值,然后将它可以直接作用在行的选择上,赋值给新的变量就可以啦!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-5-30 21:04:28
rainningpoet 发表于 2018-5-30 13:58
library(dplyr)

data002=data%>%select(is.na(a22)==FALSE
谢谢,感觉这个方法靠谱,但是遇到一个问题,以下是我的代码
a2 = a1%>%  select(is.na(a2$a25)==FALSE)
遇到这个问题:Error: `is.na(a2$a25) == FALSE` must evaluate to column positions or names, not a logical vector。捣鼓了半天也没有解决,再次求教
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-5-30 21:17:12
甲基橙crads 发表于 2018-5-30 21:04
谢谢,感觉这个方法靠谱,但是遇到一个问题,以下是我的代码
a2 = a1%>%  select(is.na(a2$a25)==FALSE) ...
用tidyr::filter 函数,而不是选 列变量的tidyr::select
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-5-30 21:39:21
jgchen1966 发表于 2018-5-30 21:17
用tidyr::filter 函数,而不是选 列变量的tidyr::select
感谢感谢,非常感谢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群