Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 在R中匹配字符串以返回;不包含“;后果_Regex_R - Fatal编程技术网

Regex 在R中匹配字符串以返回;不包含“;后果

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

我想删除数据框中A列包含“25;”或“(“或”)”且D列不包含“InService”的所有行

我相信您可以对contains部分使用grep或grepl,但我不知道如何将其与下面的表达式联系起来

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