R语言怎么按条件删除某些行?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言怎么按条件删除某些行?相关的知识,希望对你有一定的参考价值。

我有两列数据:
> head(data1)
LN_FIVE_RT_CL_ID IP_CR_RSK_RTG_ID
1 22940005 22140004
2 22940006 22140023
3 22940003 22140003
4 22940006 22140023
5 22940005 22140023
6 22940005 22140005
>

我想过滤掉第二列的值为'22140023'的行,把过滤后的数据放到一个新的data2中,请问R代码怎么写呢?谢谢!

1、安装完毕R语言,新建属于自己的R变成文件夹,然后 File ->Change Dir..,设置成自己的工作文件,自己工作空间将都会产生在这个文件夹下。

2、然后Files - > New Script,打开新的脚本编辑,在这里键入自己代码,编辑。

3、选中,然后执行F5按键,R语言就会画出一个简单的房子。

4、输入bd<-edit(bd),打开数据编辑框,即可通过键盘添加需要的数据。

5、数据编辑框可以通过命令行来定义它的初始数据。

6、定义好数据后,输入bd<-read.table(header=TRUE,text=mydatatxt)即可填充数据到bd中。

参考技术A 例用dplyr包
install.packages(dplyr)
library(dplyr)
data2 = filter(data1, IP_CR_RSK_RTG_ID !='22140023')本回答被提问者和网友采纳

按条件删除行[重复]

【中文标题】按条件删除行[重复]【英文标题】:Deleting Rows by condition [duplicate] 【发布时间】:2018-03-05 02:39:40 【问题描述】:

下面是描述我的数据框的图像,我希望有条件地删除所有写有“范围”的城市名称,如 sn-p 所示。我尝试了各种方法,但到目前为止还没有成功。

【问题讨论】:

一些生成数据的代码比截图有用得多,它会帮助其他人帮助你。请参阅reprex.tidyverse.org 了解如何制作代表。 【参考方案1】:

有两件事:检测字符向量中的模式,可以使用stringr::str_detect() 并提取行的子集,这就是dplyr::filter() 的目的。

library(dplyr)
library(stringr)
df <- df %>%
  filter( ! str_detect(City, "Range") )

【讨论】:

【参考方案2】:

使用带有反转选项的grep 来选择所有没有Range 的行。

yourDataFrame <- yourDataFrame[grep("Range", yourDataFrame$City, invert = TRUE), ]

【讨论】:

如果grep 没有返回匹配项(integer(0)),您将遇到麻烦。 grepl 更安全。 非常感谢您的解决方案,您的解决方案解决了我的问题 :)

以上是关于R语言怎么按条件删除某些行?的主要内容,如果未能解决你的问题,请参考以下文章

R语言dplyr包移除dataframe数据行实战(Remove Rows):按照条件移除数据行按照索引移除数据行删除包含NA值的所有数据行删除具体列包含NA值的数据行

R语言is.na函数实战(删除替换统计条件判断等)

r语言提取部分数据剩下的数据怎么表示

我想查找和删除包含 r 语言中某些数据的行? [复制]

r语言只能读取excel的100行数据怎么办

r语言 怎样将数据框转换成表