Regex 在R中匹配字符串以返回;不包含“;后果
我想删除数据框中A列包含“25;”或“(“或”)”且D列不包含“InService”的所有行 我相信您可以对contains部分使用grep或grepl,但我不知道如何将其与下面的表达式联系起来Regex 在R中匹配字符串以返回;不包含“;后果,regex,r,Regex,R,我想删除数据框中A列包含“25;”或“(“或”)”且D列不包含“InService”的所有行 我相信您可以对contains部分使用grep或grepl,但我不知道如何将其与下面的表达式联系起来 Atoll <- read.csv("ATOLL_TABLE20160803_084232.csv") AtollInService <- Atoll[(Atoll$MILESTONE=="InService" & grep(???)),] 以下是我希望实现的目标: NOMINAL
Atoll <- read.csv("ATOLL_TABLE20160803_084232.csv")
AtollInService <- Atoll[(Atoll$MILESTONE=="InService" & grep(???)),]
以下是我希望实现的目标:
NOMINAL_ID MILESTONE
LX0023 InService
LX0023 InService
LX0023 InService
LX0023 InService
LX0023 InService
LX0023 InService
使用
grepl
;请参见?grepl
Atoll <- read.csv("ATOLL.csv")
Atoll_filtered <-
with(Atoll, Atoll[grepl("[_()]", NOMINAL_ID) &
!grepl("InService", MILESTONE), ])
nrow(Atoll)
# [1] 65
nrow(Atoll_filtered)
# [1] 36
head(Atoll_filtered)
# NOMINAL_ID MILESTONE
# 1 WW_4664 (KNP) Planned
# 2 WW_4664 (KNP) Planned
# 3 WW_4664 (KNP) Planned
# 4 WW_4664 (KNP) Planned
# 5 WW_4664 (KNP) Planned
# 9 WW_4665 (KNP) Planned
环礁请提供一个可复制的示例(环礁,环礁[grepl(“[[u()]”,a)和!grepl(“InService”,D),])
@MichaelChirico我使用了以下代码,但我得到的结果与原始文件相同,没有过滤,我错过了什么吗?“环礁没有可复制的日期,我帮不了你更多对不起@MichaelChirico这里有一个指向该文件精简版本的链接请注意,为了简单起见,我将该文件重命名为“环礁”,因此需要修改上面的read.csv。感谢@MichaelChirico,我对列名使用了引号,这把一切都搞乱了。谢谢你的帮助。
Atoll <- read.csv("ATOLL.csv")
Atoll_filtered <-
with(Atoll, Atoll[grepl("[_()]", NOMINAL_ID) &
!grepl("InService", MILESTONE), ])
nrow(Atoll)
# [1] 65
nrow(Atoll_filtered)
# [1] 36
head(Atoll_filtered)
# NOMINAL_ID MILESTONE
# 1 WW_4664 (KNP) Planned
# 2 WW_4664 (KNP) Planned
# 3 WW_4664 (KNP) Planned
# 4 WW_4664 (KNP) Planned
# 5 WW_4664 (KNP) Planned
# 9 WW_4665 (KNP) Planned