我的数据框包含以(SP1)
或(SP2)
结尾的某些值以及不以(SP1)
或(SP2)
结尾的其他值。
我想要完成的是创建一个新的数据框,其中只包含不在(SP1)
或(SP2)
上结束的值
我可以对包含(SP1)
或(SP2)
的值进行子集化,如下所示:
Loc.Z.End = subset(location.simple, grepl("(SP1)|(SP2)", location.simple$Location_Name))
我认为添加!
运算符会如下所示,但事实并非如此!
Loc.Z.End = subset(location.simple, [!grepl("(SP1)|(SP2)", location.simple$Location_Name)])
但这不是诀窍!我做错了什么?
这是数据的一个例子
Location_Name City
AMEM01 London
BANY01 Leeds
HSBC Dubai (SP1) Dubai
Leeds(SP2) Leeds
感谢您的帮助!
答案 0 :(得分:1)
采用grepl
逻辑表达式的参数为subset
并且根据?subset
subset - 指示要保留的元素或行的逻辑表达式: 缺失值视为错误。
我们不需要任何[]
subset(location.simple, !grepl("(SP1)|(SP2)", location.simple$Location_Name))
# Location_Name City
#1 AMEM01 London
#2 BANY01 Leeds