R 去掉带有部分字符串的行
我有一个数据框R 去掉带有部分字符串的行,r,filter,R,Filter,我有一个数据框单个数据,其中有几行我想去掉 area year Temp BON-AR-S2 2016 1.853 BON-W-S5 2018 2.2 HFX 102 2018 1.2 NSTR 525
单个数据
,其中有几行我想去掉
area year Temp
BON-AR-S2 2016 1.853
BON-W-S5 2018 2.2
HFX 102 2018 1.2
NSTR 525 2017 2.0
NSTR 787 2017 2.3
HFX 101 2016 1.9
Boca Raton 2015 20
Shutter 2015 21
Shutter 2017 1.3
Ketch 2017 1.3
Ketch 2018 1.9
我只想保留字符串以NSTR、HFX和Boca raton行开头的行。。。我该如何保存这些。。。。或者我该如何摆脱剩下的。我试过用这个的倍数
individual_dets$area = filter(individual_dets, area != "BON-AR-S2")
但它在没有原始数据的情况下输出完全不同的数据帧,我也尝试过
individual_dets = filter(individual_dets, area != "BON-AR-S2")
但是什么都没发生
有人知道如何解决这个问题吗?
=
和=
仅适用于精确匹配。如果要匹配字符串的一部分,则需要grepl
。您还说线路应该以NSTR、HFX或Boca开头。行的开头可以用正则表达式表示。对于多个模式,您可以使用|
,它是或的正则表达式:
=
和=
仅适用于精确匹配。如果要匹配字符串的一部分,则需要grepl
。您还说线路应该以NSTR、HFX或Boca开头。行的开头可以用正则表达式表示。对于多个模式,您可以使用|
,它是或的正则表达式:
搜索字符串时,您不使用
==
,而是使用%中的%
如果要返回没有特定行的data.frame,则不需要编写individual_dets$area=
,而是df=
。前者将更改表中的一列,后者将创建一个新的data.frame
您可以使用子集
(基本R)代替过滤器
(需要dplyr)
总而言之:
df = subset(individual_dets, !area %in% "BON-AR-S2")
编辑:正如@JBGruber所指出的,如果您想在字符串查找方面更加通用,请使用子集(单个数据,!grepl(“BON”,area))
,在搜索字符串时不要使用==
,而是在%
中使用%
如果要返回没有特定行的data.frame,则不需要编写individual_dets$area=
,而是df=
。前者将更改表中的一列,后者将创建一个新的data.frame
您可以使用子集
(基本R)代替过滤器
(需要dplyr)
总而言之:
df = subset(individual_dets, !area %in% "BON-AR-S2")
编辑:正如@JBGruber所指出的,如果您想在字符串查找方面更为通用,请使用子集(单个数据,!grepl(“BON”,area))